64 lines
1.7 KiB
Go
64 lines
1.7 KiB
Go
// Copyright (c) 2024 Celestino Amoroso (celestino.amoroso@gmail.com).
|
|
// All rights reserved.
|
|
|
|
// t_iter-iter_test.go
|
|
package expr
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"git.portale-stac.it/go-pkg/expr/kern"
|
|
)
|
|
|
|
func TestIterIterator(t *testing.T) {
|
|
section := "Iterator"
|
|
inputs := []inputType{
|
|
/* 1 */ {`it=$(4); $(it) filter ${_}==100`, kern.NewListA(), nil},
|
|
/* 2 */ {`it=$(4); $(it, func(){$_}) filter ${_}==100`, kern.NewListA(), nil},
|
|
/* 3 */ {`it=$(4); $(it, func(arg1){arg1+$_}, 10) filter ${_}==100`, kern.NewListA(), nil},
|
|
}
|
|
|
|
runTestSuiteSpec(t, section, inputs, 3)
|
|
// runTestSuite(t, section, inputs)
|
|
}
|
|
|
|
// func TestNewIterIterator(t *testing.T) {
|
|
// var it kern.Iterator
|
|
// var err error
|
|
|
|
// list := kern.NewListA("a", "b", "c", "d")
|
|
// itList := NewListIterator(list, []any{1, 3, 1})
|
|
// it, err = NewIterator(nil, itList, map[string]any{"op": kern.NewFunctor("test")})
|
|
// if err != nil {
|
|
// t.Errorf("error: %v", err)
|
|
// } else {
|
|
// if item, err := it.Next(); err != nil {
|
|
// t.Errorf("error: %v", err)
|
|
// } else if item != "b" {
|
|
// t.Errorf("expected %q, got %q", "b", item)
|
|
// } else {
|
|
// t.Logf("Next: %v", item)
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
// func TestNewIterIteratorNoOp(t *testing.T) {
|
|
// var it kern.Iterator
|
|
// var err error
|
|
|
|
// list := kern.NewListA("a", "b", "c", "d")
|
|
// itList := NewListIterator(list, []any{1, 3, 1})
|
|
// it, err = NewIterator(nil, itList, nil)
|
|
// if err != nil {
|
|
// t.Errorf("error: %v", err)
|
|
// } else {
|
|
// if item, err := it.Next(); err != nil {
|
|
// t.Errorf("error: %v", err)
|
|
// } else if item != "b" {
|
|
// t.Errorf("expected %q, got %q", "b", item)
|
|
// } else {
|
|
// t.Logf("Next: %v", item)
|
|
// }
|
|
// }
|
|
// }
|