public void ToStringMentionsTheCount()
        {
            CPV    v   = new CPV(new object[] { 1, 2, 3 });
            string str = v.ToString();

            Expect(str.Contains("3"));
        }
        public void HashCodeDependsOnItems()
        {
            CPV v1 = new CPV(new object[] { 1, 2, 3 });
            CPV v2 = new CPV(new object[] { 1, 2, 4 });

            Expect(v1.GetHashCode(), Not.EqualTo(v2.GetHashCode()));
        }
        public void EqualsOnSimilarISeqWorks()
        {
            CPV       v1 = new CPV(new object[] { 'a', 'b', 'c' });
            StringSeq s1 = StringSeq.create("abc");

            Expect(v1.equiv(s1));
        }
Ejemplo n.º 4
0
        public void AssocWithNumericKeyOutOfRangeLowThrowsException()
        {
            //This just checks that APersistentVector.assoc calls CPV.assocN
            CPV v = new CPV(new object[] { 4, 5, 6 });

            v.assoc(-1, 10);
        }
        public void EntryAtOnNonNumericReturnsNull()
        {
            CPV v = new CPV(new object[] { 4, 5, 6 });

            IMapEntry me = v.entryAt("a");

            Expect(me, Null);
        }
        public void EntryAtOnIndexOutOfRangeReturnsNull()
        {
            CPV v = new CPV(new object[] { 4, 5, 6 });

            IMapEntry me = v.entryAt(5);

            Expect(me, Null);
        }
        public void EntryAtOnIndexInRangeReturnsEntry()
        {
            CPV v = new CPV(new object[] { 4, 5, 6 });

            IMapEntry me = v.entryAt(1);

            Expect(me.key(), EqualTo(1));
            Expect(me.val(), EqualTo(5));
        }
Ejemplo n.º 8
0
        public void RSeqCountWorks()
        {
            CPV  v = new CPV(new object[] { 4, 5, 6 });
            ISeq s = v.rseq();

            Expect(s.count()).To.Equal(3);
            Expect(s.next().count()).To.Equal(2);
            Expect(s.next().next().count()).To.Equal(1);
        }
        public void RSeqCountWorks()
        {
            CPV  v = new CPV(new object[] { 4, 5, 6 });
            ISeq s = v.rseq();

            Expect(s.count(), EqualTo(3));
            Expect(s.next().count(), EqualTo(2));
            Expect(s.next().next().count(), EqualTo(1));
        }
Ejemplo n.º 10
0
        public void ValAtOnIndexOutOfRangeReturnsDefault()
        {
            CPV v = new CPV(new object[] { 4, 5, 6 });

            object val1 = v.valAt(4);
            object val2 = v.valAt(4, "abc");

            Expect(val1, Null);
            Expect(val2, EqualTo("abc"));
        }
Ejemplo n.º 11
0
        private void TestWmsCPV2CPV(WmsCustomParamValue source, CPV target)
        {
            if (source == null && target == null)
            {
                return;
            }

            target.Name.ShouldBeEquivalentTo(source.CustomParam.CustomParamCode);
            target.Value.ShouldBeEquivalentTo(source.CPVValue);
        }
Ejemplo n.º 12
0
        public void RSeqFirstAndRestWork()
        {
            CPV  v = new CPV(new object[] { 4, 5, 6 });
            ISeq s = v.rseq();

            Expect(s.first()).To.Equal(6);
            Expect(s.next().first()).To.Equal(5);
            Expect(s.next().next().first()).To.Equal(4);
            Expect(s.next().next().next()).To.Be.Null();
        }
Ejemplo n.º 13
0
        public void SeqWithMetaHasMeta()
        {
            IPersistentMap meta = new DummyMeta();

            CPV  v   = new CPV(new object[] { 4, 5, 6 });
            IObj s   = (IObj)v.seq();
            IObj obj = s.withMeta(meta);

            Expect(Object.ReferenceEquals(obj.meta(), meta));
        }
Ejemplo n.º 14
0
        public void ValAtOnIndexOutOfRangeReturnsDefault()
        {
            CPV v = new CPV(new object[] { 4, 5, 6 });

            object val1 = v.valAt(4);
            object val2 = v.valAt(4, "abc");

            Expect(val1).To.Be.Null();
            Expect(val2).To.Equal("abc");
        }
Ejemplo n.º 15
0
        public void ValAtOnNonNumericReturnsDefault()
        {
            CPV v = new CPV(new object[] { 4, 5, 6 });

            object val1 = v.valAt("a");
            object val2 = v.valAt("a", "abc");

            Expect(val1).To.Be.Null();
            Expect(val2).To.Equal("abc");
        }
        public void RSeqReduceWithStartIterates()
        {
            IFn fn = DummyFn.CreateForReduce();

            CPV     v   = new CPV(new object[] { 1, 2, 3 });
            IReduce r   = (IReduce)v.rseq();
            object  ret = r.reduce(fn, 20);

            Expect(ret, EqualTo(26));
        }
Ejemplo n.º 17
0
        public void RseqOnPositiveCountYieldsValidSequence()
        {
            CPV  v = new CPV(new object[] { 1, 2, 3 });
            ISeq s = v.rseq();

            Expect(s.first()).To.Equal(3);
            Expect(s.next().first()).To.Equal(2);
            Expect(s.next().next().first()).To.Equal(1);
            Expect(s.next().next().next()).To.Be.Null();
        }
        public void RSeqWithMetaHasMeta()
        {
            IPersistentMap meta = new DummyMeta();

            CPV  v   = new CPV(new object[] { 4, 5, 6 });
            IObj s   = (IObj)v.rseq();
            IObj obj = s.withMeta(meta);

            Expect(obj.meta(), SameAs(meta));
        }
        public void RseqOnPositiveCountYieldsValidSequence()
        {
            CPV  v = new CPV(new object[] { 1, 2, 3 });
            ISeq s = v.rseq();

            Expect(s.first(), EqualTo(3));
            Expect(s.next().first(), EqualTo(2));
            Expect(s.next().next().first(), EqualTo(1));
            Expect(s.next().next().next(), Null);
        }
        public void ValAtOnIndexInRangeReturnsEntry()
        {
            CPV v = new CPV(new object[] { 4, 5, 6 });

            object val1 = v.valAt(1);
            object val2 = v.valAt(1, "abc");

            Expect(val1, EqualTo(5));
            Expect(val2, EqualTo(5));
        }
        public void RSeqFirstAndRestWork()
        {
            CPV  v = new CPV(new object[] { 4, 5, 6 });
            ISeq s = v.rseq();

            Expect(s.first(), EqualTo(6));
            Expect(s.next().first(), EqualTo(5));
            Expect(s.next().next().first(), EqualTo(4));
            Expect(s.next().next().next(), Null);
        }
        public void ValAtOnNonNumericReturnsDefault()
        {
            CPV v = new CPV(new object[] { 4, 5, 6 });

            object val1 = v.valAt("a");
            object val2 = v.valAt("a", "abc");

            Expect(val1, Null);
            Expect(val2, EqualTo("abc"));
        }
        public void AssocWithNumericKeyInRangeChangesValue()
        {
            //This just checks that APersistentVector.assoc calls CPV.assocN
            CPV         v = new CPV(new object[] { 4, 5, 6 });
            Associative a = v.assoc(1, 10);

            Expect(a.valAt(0), EqualTo(4));
            Expect(a.valAt(1), EqualTo(10));
            Expect(a.valAt(2), EqualTo(6));
            Expect(a.count(), EqualTo(3));
        }
Ejemplo n.º 24
0
        public void RSeqReduceWithStartIterates()
        {
            IFn fn = DummyFn.CreateForReduce();

            CPV     v   = new CPV(new object[] { 1, 2, 3 });
            IReduce r   = (IReduce)v.rseq();
            object  ret = r.reduce(fn, 20);

            Expect(ret).To.Be.An.Instance.Of <long>();
            Expect((long)ret).To.Equal(26);
        }
        public void EqualsOnPersistentVectorWithDifferentItemsIsFalse()
        {
            CPV v1 = new CPV(new object[] { 1, 2, 3 });
            CPV v2 = new CPV(new object[] { 1, 2, 4 });
            CPV v3 = new CPV(new object[] { 1, 2 });
            CPV v4 = new CPV(new object[] { 1, 2, 3, 4 });

            Expect(v1.equiv(v2), False);
            Expect(v1.equiv(v3), False);
            Expect(v1.equiv(v4), False);
        }
        public void AssocWithNumericKeyInRangeChangesValue()
        {
            //This just checks that APersistentVector.assoc calls CPV.assocN
            CPV v = new CPV(new object[] { 4, 5, 6 });
            Associative a = v.assoc(1, 10);

            Expect(a.valAt(0), EqualTo(4));
            Expect(a.valAt(1), EqualTo(10));
            Expect(a.valAt(2), EqualTo(6));
            Expect(a.count(), EqualTo(3));
        }
        public void EqualsOnDissimilarISeqFails()
        {
            CPV       v1 = new CPV(new object[] { 'a', 'b', 'c' });
            StringSeq s1 = StringSeq.create("ab");
            StringSeq s2 = StringSeq.create("abd");
            StringSeq s3 = StringSeq.create("abcd");

            Expect(v1.equiv(s1), False);
            Expect(v1.equiv(s2), False);
            Expect(v1.equiv(s3), False);
        }
Ejemplo n.º 28
0
        public void SeqIndexedWorks()
        {
            CPV        v  = new CPV(new object[] { 4, 5, 6 });
            ISeq       s0 = v.seq();
            IndexedSeq i0 = s0 as IndexedSeq;

            ISeq       s1 = s0.next();
            IndexedSeq i1 = s1 as IndexedSeq;

            Expect(i0.index()).To.Equal(0);
            Expect(i1.index()).To.Equal(1);
        }
        public void RSeqIndexedWorks()
        {
            CPV        v  = new CPV(new object[] { 4, 5, 6 });
            ISeq       s0 = v.rseq();
            IndexedSeq i0 = s0 as IndexedSeq;

            ISeq       s1 = s0.next();
            IndexedSeq i1 = s1 as IndexedSeq;

            Expect(i0.index(), EqualTo(2));
            Expect(i1.index(), EqualTo(1));
        }
Ejemplo n.º 30
0
        public void MetaCtorHasMeta()
        {
            MockRepository mocks = new MockRepository();
            IPersistentMap meta  = mocks.StrictMock <IPersistentMap>();

            mocks.ReplayAll();

            CPV v = new CPV(meta, new object[] { 1, 2, 3 });

            Expect(v.meta(), SameAs(meta));
            mocks.VerifyAll();
        }
Ejemplo n.º 31
0
        public void AssocWithNumericKeyOnePastEndAddValue()
        {
            //This just checks that APersistentVector.assoc calls CPV.assocN
            CPV         v = new CPV(new object[] { 4, 5, 6 });
            Associative a = v.assoc(3, 10);

            Expect(a.valAt(0)).To.Equal(4);
            Expect(a.valAt(1)).To.Equal(5);
            Expect(a.valAt(2)).To.Equal(6);
            Expect(a.valAt(3)).To.Equal(10);
            Expect(a.count()).To.Equal(4);
        }
        public void PeekOnPositiveCountReturnsLastItem()
        {
            CPV v = new CPV(new object[] { 1, 2, 3 });

            Expect(v.peek(), EqualTo(3));
        }
 public void AssocWithNonNumericKeyThrowsException()
 {
     CPV v = new CPV(new object[] { 4, 5, 6 });
     Associative a = v.assoc("a", 7);
 }
        public void NoMetaCtorHasNoMeta()
        {
            CPV v = new CPV(new object[] { 1, 2, 3 });

            Expect(v.meta(),Null);
        }
        public void PeekOnCount0ReturnsNull()
        {
            CPV v = new CPV(new object[] {});

            Expect(v.peek(), Null);
        }
        public void InvokeCallsNth()
        {
            CPV v = new CPV(new object[] { 5, 6, 7 });

            Expect(v.invoke(0),EqualTo(5));
            Expect(v.invoke(1),EqualTo(6));
            Expect(v.invoke(2),EqualTo(7));
            Expect(v.invoke("1"), EqualTo(6));
            Expect(v.invoke(1.0), EqualTo(6));
            Expect(v.invoke(1.2), EqualTo(6));
            Expect(v.invoke(1.8), EqualTo(6)); // Rounds or not-- should it?
            Expect(v.invoke(1.4M), EqualTo(6));
        }
        public void MetaCtorHasMeta()
        {
            MockRepository mocks = new MockRepository();
            IPersistentMap meta = mocks.StrictMock<IPersistentMap>();
            mocks.ReplayAll();

            CPV v = new CPV(meta,new object[] { 1, 2, 3 });

            Expect(v.meta(), SameAs(meta));
            mocks.VerifyAll();
        }
        public void ValAtOnNonNumericReturnsDefault()
        {
            CPV v = new CPV(new object[] { 4, 5, 6 });

            object val1 = v.valAt("a");
            object val2 = v.valAt("a", "abc");

            Expect(val1, Null);
            Expect(val2, EqualTo("abc"));
        }
        public void ContainsKeyOnIndexInRangeIsTrue()
        {
            CPV v = new CPV(new object[] { 4, 5, 6 });

            Expect(v.containsKey(1.2));
        }
        public void ValAtOnIndexInRangeReturnsEntry()
        {
            CPV v = new CPV(new object[] { 4, 5, 6 });

            object val1 = v.valAt(1);
            object val2 = v.valAt(1, "abc");

            Expect(val1, EqualTo(5));
            Expect(val2, EqualTo(5));
        }
        public void SeqWithMetaHasMeta()
        {
            MockRepository mocks = new MockRepository();
            IPersistentMap meta = mocks.StrictMock<IPersistentMap>();
            mocks.ReplayAll();

            CPV v = new CPV(new object[] { 4, 5, 6 });
            IObj s = (IObj)v.seq();
            IObj obj = s.withMeta(meta);

            Expect(obj.meta(), SameAs(meta));
            mocks.VerifyAll();
        }
        public void SeqOnPositiveCountYieldsValidSequence()
        {
            CPV v = new CPV(new object[] { 1, 2, 3 });
            ISeq s = v.seq();

            Expect(s.first(), EqualTo(1));
            Expect(s.rest().first(), EqualTo(2));
            Expect(s.rest().rest().first(), EqualTo(3));
            Expect(s.rest().rest().rest(), Null);
        }
        public void SeqCountWorks()
        {
            CPV v = new CPV(new object[] { 4, 5, 6 });
            ISeq s = v.seq();

            Expect(s.count(), EqualTo(3));
            Expect(s.rest().count(), EqualTo(2));
            Expect(s.rest().rest().count(), EqualTo(1));
        }
        public void SeqIndexedWorks()
        {
            CPV v = new CPV(new object[] { 4, 5, 6 });
            ISeq s0 = v.seq();
            IndexedSeq i0 = s0 as IndexedSeq;

            ISeq s1 = s0.rest();
            IndexedSeq i1 = s1 as IndexedSeq;

            Expect(i0.index(), EqualTo(0));
            Expect(i1.index(), EqualTo(1));
        }
        public void SeqFirstAndRestWork()
        {
            CPV v = new CPV(new object[] { 4, 5, 6 });
            ISeq s = v.seq();

            Expect(s.first(), EqualTo(4));
            Expect(s.rest().first(), EqualTo(5));
            Expect(s.rest().rest().first(), EqualTo(6));
            Expect(s.rest().rest().rest(), Null);
        }
        public void EqualsOnNonPersistentVectorIsFalse()
        {
            CPV v1 = new CPV(new object[] { 1, 2, 3 });

            Expect(v1.equiv(7), False);
        }
        public void SeqOnCount0YieldsNull()
        {
            CPV v = new CPV(new object[0]);

            Expect(v.seq(), Null);
        }
        public void EqualsOnPersistentVectorWithDifferentItemsIsFalse()
        {
            CPV v1 = new CPV(new object[] { 1, 2, 3 });
            CPV v2 = new CPV(new object[] { 1, 2, 4 });
            CPV v3 = new CPV(new object[] { 1, 2 });
            CPV v4 = new CPV(new object[] { 1, 2, 3, 4 });

            Expect(v1.equiv(v2), False);
            Expect(v1.equiv(v3), False);
            Expect(v1.equiv(v4), False);
        }
        public void SeqOnPositiveCountYieldsNotNull()
        {
            CPV v = new CPV(new object[]{ 1,2,3});

            Expect(v.seq(), Not.Null);
        }
        public void EqualsOnPersistentVectorWithSameItemsIsTrue()
        {
            CPV v1 = new CPV(new object[] { 1, 2, 3 });
            CPV v2 = new CPV(new object[] { 1, 2, 3 });
            CPV v3 = new CPV(new object[] { 1 });
            CPV v4 = new CPV(new object[] { 1 });
            CPV v5 = new CPV(new object[] { });
            CPV v6 = new CPV(new object[] { });

            Expect(v1.equiv(v2));
            Expect(v3.equiv(v4));
            Expect(v5.equiv(v6));
        }
        public void SeqReduceWithStartIterates()
        {
            MockRepository mocks = new MockRepository();
            IFn fn = mocks.StrictMock<IFn>();
            RMExpect.Call(fn.invoke(20, 1)).Return(10);
            RMExpect.Call(fn.invoke(10, 2)).Return(5);
            RMExpect.Call(fn.invoke(5, 3)).Return(7);
            mocks.ReplayAll();

            CPV v = new CPV(new object[] { 1, 2, 3 });
            IReduce r = (IReduce)v.seq();
            object ret = r.reduce(fn, 20);

            Expect(ret, EqualTo(7));
            mocks.VerifyAll();
        }
        public void EqualsOnSimilarISeqWorks()
        {
            CPV v1 = new CPV(new object[] { 'a', 'b', 'c' });
            StringSeq s1 = StringSeq.create("abc");

            Expect(v1.equiv(s1));
        }
        public void ToStringMentionsTheCount()
        {
            CPV v = new CPV(new object[] { 1, 2, 3 });
            string str = v.ToString();

            Expect(str.Contains("3"));
        }
        public void Explicit_IPersistentCollection_cons_works()
        {
            CPV v = new CPV(new object[] { 1, 2 });
            IPersistentCollection c = v as IPersistentCollection;

            Expect(c, Not.Null);

            IPersistentCollection c2 = c.cons(3);
            Expect(c2.count(), EqualTo(3));

            ISeq s2 = c2.seq();

            Expect(s2.first(), EqualTo(1));
            Expect(s2.rest().first(), EqualTo(2));
            Expect(s2.rest().rest().first(), EqualTo(3));
            Expect(s2.rest().rest().rest(), Null);
        }
        public void ValAtOnIndexOutOfRangeReturnsDefault()
        {
            CPV v = new CPV(new object[] { 4, 5, 6 });

            IMapEntry me = v.entryAt(5);

            object val1 = v.valAt(4);
            object val2 = v.valAt(4, "abc");

            Expect(val1, Null);
            Expect(val2, EqualTo("abc"));
        }
        public void HashCodeDependsOnItems()
        {
            CPV v1 = new CPV(new object[] { 1, 2, 3 });
            CPV v2 = new CPV(new object[] { 1, 2, 4 });

            Expect(v1.GetHashCode(), Not.EqualTo(v2.GetHashCode()));
        }
 public void AssocWithNumericKeyOutOfRangeLowThrowsException()
 {
     //This just checks that APersistentVector.assoc calls CPV.assocN
     CPV v = new CPV(new object[] { 4, 5, 6 });
     Associative a = v.assoc(-1, 10);
 }
        public void HashCodeRepeats()
        {
            CPV v = new CPV(new object[] { 1, 2, 3 });

            Expect(v.GetHashCode(), EqualTo(v.GetHashCode()));
        }
        public void ContainsKeyOnIndexOutOfRangeIsFalse()
        {
            CPV v = new CPV(new object[] { 4, 5, 6 });

            Expect(v.containsKey(5),False);
        }
        public void EqualsOnDissimilarISeqFails()
        {
            CPV v1 = new CPV(new object[] { 'a', 'b', 'c' });
            StringSeq s1 = StringSeq.create("ab");
            StringSeq s2 = StringSeq.create("abd");
            StringSeq s3 = StringSeq.create("abcd");

            Expect(v1.equiv(s1), False);
            Expect(v1.equiv(s2), False);
            Expect(v1.equiv(s3), False);
        }