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