From 2d35a370349ee43e7a886058c484e0359dee7c27 Mon Sep 17 00:00:00 2001 From: s-ol Date: Sat, 11 Apr 2026 00:58:19 +0200 Subject: spec: test Array equality --- spec/internal/result/const_spec.moon | 16 +++++++++++++++- spec/internal/result/sig_spec.moon | 9 ++++++++- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/spec/internal/result/const_spec.moon b/spec/internal/result/const_spec.moon index 3f31306..325c92b 100644 --- a/spec/internal/result/const_spec.moon +++ b/spec/internal/result/const_spec.moon @@ -1,5 +1,5 @@ import do_setup from require 'spec.test_setup' -import Constant, RTNode, Scope, SimpleRegistry, T from require 'alv' +import Constant, RTNode, Scope, SimpleRegistry, T, Array from require 'alv' import Op, Builtin from require 'alv.base' class TestOp extends Op @@ -104,6 +104,20 @@ describe 'Constant', -> assert.is.equal (Constant.num 3), val assert.not.equal (Constant.num 4), val + it 'compares complex values', -> + ta = Array 3, T.num + tb = Array 3, T.num + + a = Constant ta, { 1, 2, 3 } + b = Constant ta, { 1, 2, 3 } + c = Constant tb, { 1, 2, 3 } + d = Constant ta, { 1, 2, 4 } + + assert.is.equal a, a + assert.is.equal b, a + assert.is.equal c, a + assert.not.equal d, a + it ':dirty is always false', -> val = Constant.num 3 assert.is.false val\dirty! diff --git a/spec/internal/result/sig_spec.moon b/spec/internal/result/sig_spec.moon index 65363bc..2d3304c 100644 --- a/spec/internal/result/sig_spec.moon +++ b/spec/internal/result/sig_spec.moon @@ -1,5 +1,5 @@ import do_setup from require 'spec.test_setup' -import SigStream, Constant, RTNode, Scope, SimpleRegistry, T from require 'alv' +import SigStream, Constant, T, Array from require 'alv' import Op, Builtin from require 'alv.base' setup do_setup @@ -59,6 +59,13 @@ describe 'SigStream', -> assert.is.equal (Constant.str 'hello'), val assert.not.equal (Constant.sym 'hello'), val + it 'compares complex values', -> + ta = Array 3, T.num + tb = Array 3, T.num + + assert.is.equal (Constant ta, {1, 2, 3}), (SigStream tb, {1, 2, 3}) + assert.not.equal (Constant ta, {1, 2, 3}), (SigStream tb, {1, 2, 4}) + describe ':set', -> it 'sets the value', -> val = SigStream T.num, 3 -- cgit v1.2.3