// 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) // } // } // }