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)); }
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)); }
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)); }
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")); }
private void TestWmsCPV2CPV(WmsCustomParamValue source, CPV target) { if (source == null && target == null) { return; } target.Name.ShouldBeEquivalentTo(source.CustomParam.CustomParamCode); target.Value.ShouldBeEquivalentTo(source.CPVValue); }
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(); }
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)); }
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"); }
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)); }
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)); }
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); }
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)); }
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 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); }