- 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)
		
			
				
	
	
		
			40 lines
		
	
	
		
			898 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			898 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| // Copyright (c) 2024 Celestino Amoroso (celestino.amoroso@gmail.com).
 | |
| // All rights reserved.
 | |
| 
 | |
| // t_token_test.go
 | |
| package expr
 | |
| 
 | |
| import (
 | |
| 	"fmt"
 | |
| 	"testing"
 | |
| )
 | |
| 
 | |
| func TestDevString(t *testing.T) {
 | |
| 	type inputType struct {
 | |
| 		source     string
 | |
| 		sym        Symbol
 | |
| 		value      any
 | |
| 		wantResult string
 | |
| 	}
 | |
| 
 | |
| 	inputs := []inputType{
 | |
| 		/*   1 */ {"100", SymInteger, 100, fmt.Sprintf(`[%d]"100"{100}`, SymInteger)},
 | |
| 		/*   2 */ {"+", SymPlus, nil, fmt.Sprintf(`[%d]"+"{}`, SymPlus)},
 | |
| 	}
 | |
| 
 | |
| 	for i, input := range inputs {
 | |
| 		var tk *Token
 | |
| 		if input.value == nil {
 | |
| 			tk = NewToken(0, 0, input.sym, input.source)
 | |
| 		} else {
 | |
| 			tk = NewValueToken(0, 0, input.sym, input.source, input.value)
 | |
| 		}
 | |
| 
 | |
| 		t.Logf("Test nr %2d: %q --> %q", i+1, input.source, input.wantResult)
 | |
| 
 | |
| 		if s := tk.DevString(); s != input.wantResult {
 | |
| 			t.Errorf("wrong token from symbol '+': expected %q, got %q", input.wantResult, s)
 | |
| 		}
 | |
| 	}
 | |
| }
 |