- fraction type renamed as FractionType and moved from operator-fraction.go to fraction-type.go - ListType moved from operator-list.go to list-type.go - all test file were renamed adding the "t_" prefix - defined a test template in file t_temple_test.go - new test file t_relational_test.go where relational tests are collected - lists can now compared as set using operators <, <=, >, and >= (IMPORTANT: here = menas same content, not same list)
		
			
				
	
	
		
			28 lines
		
	
	
		
			787 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			787 B
		
	
	
	
		
			Go
		
	
	
	
	
	
// 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)
 | 
						|
}
 |