// Copyright (c) 2024 Celestino Amoroso (celestino.amoroso@gmail.com). // All rights reserved. // t_index_test.go package expr import ( "testing" ) func TestCollections(t *testing.T) { section := "Collection" inputs := []inputType{ /* 1 */ {`"abcdef"[1:3]`, "bc", nil}, /* 2 */ {`"abcdef"[:3]`, "abc", nil}, /* 3 */ {`"abcdef"[1:]`, "bcdef", nil}, /* 4 */ {`"abcdef"[:]`, "abcdef", nil}, // /* 5 */ {`[0,1,2,3,4][:]`, ListType{int64(0), int64(1), int64(2), int64(3), int64(4)}, nil}, /* 5 */ {`"abcdef"[1:2:3]`, nil, `[1:14] invalid range specification`}, /* 6 */ {`"abcdef"[((1>0)?{1}:{0}):3]`, "bc", nil}, /* 7 */ {`"abcdef"[[0,1][0]:1]`, "a", nil}, } t.Setenv("EXPR_PATH", ".") // runTestSuiteSpec(t, section, inputs, 5) runTestSuite(t, section, inputs) }