MCPcopy Create free account
hub / github.com/DNAProject/DNA / TestArrayOpCode

Function TestArrayOpCode

vm/neovm/stack_opcode_test.go:267–298  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

265}
266
267func TestArrayOpCode(t *testing.T) {
268 checkStackOpCode(t, ARRAYSIZE, []Value{"12345"}, []Value{5})
269 checkStackOpCode(t, ARRAYSIZE, []Value{[]Value{1, 2, 3}}, []Value{3})
270 checkStackOpCode(t, ARRAYSIZE, []Value{[]Value{}}, []Value{0})
271
272 checkStackOpCode(t, PACK, []Value{"aaa", "bbb", "ccc", 3}, []Value{[]Value{"ccc", "bbb", "aaa"}})
273
274 checkStackOpCode(t, UNPACK, []Value{[]Value{"ccc", "bbb", "aaa"}}, []Value{"aaa", "bbb", "ccc", 3})
275
276 checkStackOpCode(t, PICKITEM, []Value{[]Value{"ccc", "bbb", "aaa"}, 0}, []Value{"ccc"})
277 checkStackOpCode(t, PICKITEM, []Value{[]Value{"ccc", "bbb", "aaa"}, 1}, []Value{"bbb"})
278
279 checkStackOpCode(t, NEWARRAY, []Value{int64(1)}, []Value{[]Value{false}})
280
281 checkMultiStackOpCode(t, []OpCode{TOALTSTACK, DUPFROMALTSTACK, PUSH1, REMOVE, FROMALTSTACK}, []Value{[]Value{"ccc", "bbb", "aaa"}}, []Value{[]Value{"ccc", "aaa"}})
282
283 checkMultiStackOpCode(t, []OpCode{TOALTSTACK, PUSH1, DUPFROMALTSTACK, PUSH2, XSWAP, SETITEM, FROMALTSTACK}, []Value{"ddd", []Value{"ccc", "bbb", "aaa"}}, []Value{[]Value{"ccc", "ddd", "aaa"}})
284
285 // reverse will pop the value from stack
286 checkStackOpCode(t, REVERSE, []Value{[]Value{"ccc", "bbb", "aaa"}}, []Value{})
287 checkMultiStackOpCode(t, []OpCode{TOALTSTACK, DUPFROMALTSTACK, REVERSE, FROMALTSTACK},
288 []Value{[]Value{"ccc", "bbb", "aaa"}},
289 []Value{[]Value{"aaa", "bbb", "ccc"}},
290 )
291
292 checkMultiStackOpCode(t, []OpCode{SWAP, TOALTSTACK, DUPFROMALTSTACK, SWAP, APPEND, FROMALTSTACK},
293 []Value{[]Value{"aaa", "bbb", "ccc"}, "eee"},
294 []Value{[]Value{"aaa", "bbb", "ccc", "eee"}},
295 )
296
297 checkStackOpCode(t, WITHIN, []Value{1, 2, 3}, []Value{false})
298}
299
300func TestMapValue(t *testing.T) {
301 mp := make(map[interface{}]interface{}, 0)

Callers

nothing calls this directly

Calls 2

checkStackOpCodeFunction · 0.85
checkMultiStackOpCodeFunction · 0.85

Tested by

no test coverage detected