github.com/synesissoftware/ANGoLS@v0.0.0-20190330004400-955d82dbf73b/generate_test.go (about)

     1  
     2  package angols_test
     3  
     4  import (
     5  
     6  	angols "github.com/synesissoftware/ANGoLS"
     7  
     8  	"testing"
     9  )
    10  
    11  func Test_GenerateSliceOfInt_1_nil_generator(t *testing.T) {
    12  
    13  	req_len		:=	1001
    14  	ints, err	:=	angols.GenerateSliceOfInt(req_len, nil)
    15  	if err != nil {
    16  
    17  	} else {
    18  
    19  		if len(ints) != req_len {
    20  
    21  			t.Errorf("generated slice was required to be of length %d, but %d obtained", req_len, len(ints))
    22  		}
    23  
    24  		for i, v := range ints {
    25  
    26  			if 0 != v {
    27  
    28  				t.Errorf("element at index %d is expected to be %v, but is %v\n", i, 0, v)
    29  			}
    30  		}
    31  	}
    32  }
    33  
    34  func Test_GenerateSliceOfInt_2_setting_all_to_const(t *testing.T) {
    35  
    36  	req_len		:=	1001
    37  	ints, err	:=	angols.GenerateSliceOfInt(req_len, func(index int) (int, error) { return 1, nil })
    38  	if err != nil {
    39  
    40  	} else {
    41  
    42  		if len(ints) != req_len {
    43  
    44  			t.Errorf("generated slice was required to be of length %d, but %d obtained", req_len, len(ints))
    45  		}
    46  
    47  		for i, v := range ints {
    48  
    49  			if 1 != v {
    50  
    51  				t.Errorf("element at index %d is expected to be %v, but is %v\n", i, 1, v)
    52  			}
    53  		}
    54  	}
    55  }
    56  
    57  func Test_GenerateSliceOfInt_3_doubling_index(t *testing.T) {
    58  
    59  	req_len		:=	1001
    60  	ints, err	:=	angols.GenerateSliceOfInt(req_len, func(index int) (int, error) { return 2 * index, nil })
    61  	if err != nil {
    62  
    63  	} else {
    64  
    65  		if len(ints) != req_len {
    66  
    67  			t.Errorf("generated slice was required to be of length %d, but %d obtained", req_len, len(ints))
    68  		}
    69  
    70  		for i, v := range ints {
    71  
    72  			if 2 * i != v {
    73  
    74  				t.Errorf("element at index %d is expected to be %v, but is %v\n", i, 2 * i, v)
    75  			}
    76  		}
    77  	}
    78  }
    79