int-iterator is now defined interval
This commit is contained in:
+12
-9
@@ -39,12 +39,15 @@ func TestIteratorParser(t *testing.T) {
|
||||
/* 20 */ {`it=$({1:"one",2:"two",3:"three"}, "default", "value"); it++`, "one", nil},
|
||||
/* 21 */ {`it=$({1:"one",2:"two",3:"three"}, "desc", "key"); it++`, int64(3), nil},
|
||||
/* 22 */ {`it=$({1:"one",2:"two",3:"three"}, "asc", "item"); it++`, array.NewArray([]any{int64(1), "one"}), nil},
|
||||
/* 23 */ {`$$($(1,4,0))`, nil, `step cannot be zero`},
|
||||
/* 24 */ {`$$($(1,4,-1))`, nil, `step cannot be negative when start < stop`},
|
||||
/* 25 */ {`$$($(4,1,1))`, nil, `step cannot be positive when start > stop`},
|
||||
/* 23 */ {`$$($(1..4..0))`, nil, `[1:11] invalid interval specification: step must be positive`},
|
||||
/* 24 */ {`$$($(1..4..-1))`, nil, `[1:11] invalid interval specification: step must be positive`},
|
||||
/* 25 */ {`$$($(4..1..1))`, list.NewLinkedListA(4, 3, 2), nil},
|
||||
/* 26 */ {`it=$(1..5..2); it++`, int64(1), nil},
|
||||
/* 27 */ {`it=$(1.5..5..2); it++`, nil, `[1:13] interval expression expected integer, got float (1.5)`},
|
||||
/* 28 */ {`it=$(.."z"); it++`, nil, `[1:7] interval expression expected integer, got string (z)`},
|
||||
}
|
||||
|
||||
// runTestSuiteSpec(t, section, inputs, 25)
|
||||
// RunTestSuiteSpec(t, section, inputs, 27)
|
||||
RunTestSuite(t, section, inputs)
|
||||
}
|
||||
|
||||
@@ -138,9 +141,9 @@ func TestFilterIterator(t *testing.T) {
|
||||
func TestDigestIterator(t *testing.T) {
|
||||
section := "Iterator-Digest"
|
||||
inputs := []inputType{
|
||||
/* 1 */ {`$(10) digest ${_}`, int64(9), nil},
|
||||
/* 2 */ {`$(10,0) digest ${_}`, int64(1), nil},
|
||||
/* 3 */ {`$(10,0,-2) digest ${_}`, int64(2), nil},
|
||||
/* 1 */ {`$(..10) digest ${_}`, int64(9), nil},
|
||||
/* 2 */ {`$(10..0) digest ${_}`, int64(1), nil},
|
||||
/* 3 */ {`$(10..0..2) digest ${_}`, int64(2), nil},
|
||||
}
|
||||
|
||||
// runTestSuiteSpec(t, section, inputs, 2)
|
||||
@@ -166,8 +169,8 @@ func TestMapIterator(t *testing.T) {
|
||||
section := "Iterator-Map"
|
||||
inputs := []inputType{
|
||||
/* 1 */ {`$$([3,4,5] map ${_#})`, list.NewLinkedListA(1, 2, 3), nil},
|
||||
/* 2 */ {`#$$($(10) map ${_})`, int64(10), nil},
|
||||
/* 3 */ {`#$$($(10,0) map ${_})`, int64(10), nil},
|
||||
/* 2 */ {`#$$($(..10) map ${_})`, int64(10), nil},
|
||||
/* 3 */ {`#$$($(10..0) map ${_})`, int64(10), nil},
|
||||
/* 4 */ {`builtin "os.file"; $$(fileLineIterator("test-file.txt") map ${__})`, list.NewLinkedListA(0, 1), nil},
|
||||
/* 5 */ {`$$(["1", "2", "3"] map int())`, nil, `int(): too few params -- expected 1, got 0`},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user