MCPcopy Create free account
hub / github.com/EliCDavis/polyform / TestStruct_ArrayAdd_AddAndRemoveInputNodes

Function TestStruct_ArrayAdd_AddAndRemoveInputNodes

nodes/struct_test.go:143–177  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

141}
142
143func TestStruct_ArrayAdd_AddAndRemoveInputNodes(t *testing.T) {
144 var n nodes.Node = &ArrayTestStructNode{
145 Data: ArrayTestStruct{
146 Values: []nodes.Output[float64]{
147 nodes.NewValue(1.).Outputs()["Value"].(nodes.Output[float64]),
148 nodes.NewValue(2.).Outputs()["Value"].(nodes.Output[float64]),
149 nodes.NewValue(3.).Outputs()["Value"].(nodes.Output[float64]),
150 },
151 },
152 }
153
154 output := n.Outputs()
155 require.Contains(t, output, "Sum")
156 sumOutput := output["Sum"].(nodes.Output[float64])
157 assert.Equal(t, 6., sumOutput.Value())
158 assert.Equal(t, 0, sumOutput.Version())
159
160 valueNode := nodes.NewValue(4.)
161 inputToAdd := valueNode.Outputs()["Value"].(nodes.Output[float64])
162
163 // Test Adding to the input port
164 n.Inputs()["Values"].(nodes.ArrayValueInputPort).Add(inputToAdd)
165 assert.Equal(t, 10., sumOutput.Value())
166 assert.Equal(t, 1, sumOutput.Version())
167
168 // Change the value thats added to the input port
169 valueNode.Set(5)
170 assert.Equal(t, 11., sumOutput.Value())
171 assert.Equal(t, 2, sumOutput.Version())
172
173 // Test removing from the input port
174 n.Inputs()["Values"].(nodes.ArrayValueInputPort).Remove(inputToAdd)
175 assert.Equal(t, 6., sumOutput.Value())
176 assert.Equal(t, 3, sumOutput.Version())
177}
178
179func TestNodeInfo(t *testing.T) {
180

Callers

nothing calls this directly

Calls 10

OutputsMethod · 0.95
InputsMethod · 0.95
NewValueFunction · 0.92
EqualMethod · 0.80
ValueMethod · 0.65
VersionMethod · 0.65
AddMethod · 0.65
SetMethod · 0.65
RemoveMethod · 0.65
ContainsMethod · 0.45

Tested by

no test coverage detected