// Copyright (c) 2024 Celestino Amoroso (celestino.amoroso@gmail.com).
// All rights reserved.

// t_index_test.go
package expr

import (
	"errors"
	"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, errors.New(`[1:14] left operand '(1, 2)' [pair] and right operand '3' [integer] are not compatible with operator ":"`)},
	}

	t.Setenv("EXPR_PATH", ".")

	// parserTestSpec(t, section, inputs, 5)
	parserTest(t, section, inputs)
}