コード例 #1
0
        public void Setup()
        {
            IPersistentVector v = LazilyPersistentVector.createOwning(1, 2, 3);

            _obj          = _objWithNullMeta = (IObj)v;
            _expectedType = typeof(LazilyPersistentVector);
        }
コード例 #2
0
 public void SetupFixture()
 {
     _proxyType = GenProxy.GenerateProxyClass(
         typeof(Impl1),
         RT.seq(LazilyPersistentVector.createOwning(typeof(I2))),
         "Impl1_I2_sub_I1");
 }
コード例 #3
0
        public void CreatingOwningOnParamsReturnsVector()
        {
            IPersistentVector v = LazilyPersistentVector.createOwning(1, 2, 3);

            Expect(v.count(), EqualTo(3));
            Expect(v.nth(0), EqualTo(1));
            Expect(v.nth(1), EqualTo(2));
            Expect(v.nth(2), EqualTo(3));
        }
コード例 #4
0
        public void CreateOnNonEmptyCollectionReturnsVector()
        {
            IPersistentVector v = LazilyPersistentVector.createOwning(new object[] { 1, 2, 3 });

            Expect(v.count(), EqualTo(3));
            Expect(v.nth(0), EqualTo(1));
            Expect(v.nth(1), EqualTo(2));
            Expect(v.nth(2), EqualTo(3));
        }
コード例 #5
0
        public void NthInRangeWorks()
        {
            IPersistentVector v = LazilyPersistentVector.createOwning(1, 2, 3);

            Expect(v.count(), EqualTo(3));
            Expect(v.nth(0), EqualTo(1));
            Expect(v.nth(1), EqualTo(2));
            Expect(v.nth(2), EqualTo(3));
        }
コード例 #6
0
        public void NthInRangeWorks()
        {
            IPersistentVector v = LazilyPersistentVector.createOwning(1, 2, 3);

            Expect(v.count()).To.Equal(3);
            Expect(v.nth(0)).To.Equal(1);
            Expect(v.nth(1)).To.Equal(2);
            Expect(v.nth(2)).To.Equal(3);
        }
コード例 #7
0
        public void PopOnNonEmptyWorks()
        {
            IPersistentVector v  = LazilyPersistentVector.createOwning(1, 2, 3);
            IPersistentVector v2 = (IPersistentVector)((IPersistentStack)v).pop();

            Expect(v.count(), EqualTo(3));
            Expect(v.nth(0), EqualTo(1));
            Expect(v.nth(1), EqualTo(2));
            Expect(v.nth(2), EqualTo(3));

            Expect(v2.count(), EqualTo(2));
            Expect(v2.nth(0), EqualTo(1));
            Expect(v2.nth(1), EqualTo(2));
        }
コード例 #8
0
        public void AssocnInRangeModifies()
        {
            IPersistentVector v  = LazilyPersistentVector.createOwning(1, 2, 3);
            IPersistentVector v2 = v.assocN(1, 4);

            Expect(v.count(), EqualTo(3));
            Expect(v.nth(0), EqualTo(1));
            Expect(v.nth(1), EqualTo(2));
            Expect(v.nth(2), EqualTo(3));

            Expect(v2.count(), EqualTo(3));
            Expect(v2.nth(0), EqualTo(1));
            Expect(v2.nth(1), EqualTo(4));
            Expect(v2.nth(2), EqualTo(3));
        }
コード例 #9
0
        public void ConsAddsAtEnd()
        {
            IPersistentVector v  = LazilyPersistentVector.createOwning(1, 2, 3);
            IPersistentVector v2 = v.cons(4);

            Expect(v.count()).To.Equal(3);
            Expect(v.nth(0)).To.Equal(1);
            Expect(v.nth(1)).To.Equal(2);
            Expect(v.nth(2)).To.Equal(3);

            Expect(v2.count()).To.Equal(4);
            Expect(v2.nth(0)).To.Equal(1);
            Expect(v2.nth(1)).To.Equal(2);
            Expect(v2.nth(2)).To.Equal(3);
            Expect(v2.nth(3)).To.Equal(4);
        }
コード例 #10
0
        public void ConsAddsAtEnd()
        {
            IPersistentVector v  = LazilyPersistentVector.createOwning(1, 2, 3);
            IPersistentVector v2 = v.cons(4);

            Expect(v.count(), EqualTo(3));
            Expect(v.nth(0), EqualTo(1));
            Expect(v.nth(1), EqualTo(2));
            Expect(v.nth(2), EqualTo(3));

            Expect(v2.count(), EqualTo(4));
            Expect(v2.nth(0), EqualTo(1));
            Expect(v2.nth(1), EqualTo(2));
            Expect(v2.nth(2), EqualTo(3));
            Expect(v2.nth(3), EqualTo(4));
        }
コード例 #11
0
        public void AssocnAtEndModifies()
        {
            IPersistentVector v  = LazilyPersistentVector.createOwning(1, 2, 3);
            IPersistentVector v2 = v.assocN(3, 4);

            Expect(v.count()).To.Equal(3);
            Expect(v.nth(0)).To.Equal(1);
            Expect(v.nth(1)).To.Equal(2);
            Expect(v.nth(2)).To.Equal(3);

            Expect(v2.count()).To.Equal(4);
            Expect(v2.nth(0)).To.Equal(1);
            Expect(v2.nth(1)).To.Equal(2);
            Expect(v2.nth(2)).To.Equal(3);
            Expect(v2.nth(3)).To.Equal(4);
        }
コード例 #12
0
        public void NthOutOfRangeLowFails()
        {
            IPersistentVector v = LazilyPersistentVector.createOwning(1, 2, 3);

            Expect(v.nth(-4)).To.Equal(1);
        }
コード例 #13
0
        public void NthOutOfRangeHighFails()
        {
            IPersistentVector v = LazilyPersistentVector.createOwning(1, 2, 3);

            Expect(v.nth(4), EqualTo(1));
        }
コード例 #14
0
        public void AssocNOutOfRangeLowFails()
        {
            IPersistentVector v = LazilyPersistentVector.createOwning(1, 2, 3);

            v.assocN(-4, 4);
        }
コード例 #15
0
 public void AssocNOutOfRangeHighFails()
 {
     IPersistentVector v  = LazilyPersistentVector.createOwning(1, 2, 3);
     IPersistentVector v2 = v.assocN(4, 4);
 }
コード例 #16
0
        public void CreateOwningOnNoParamsReturnsEmptyVector()
        {
            IPersistentVector v = LazilyPersistentVector.createOwning();

            Expect(v.count(), EqualTo(0));
        }
コード例 #17
0
 public void PopOnEmptyFails()
 {
     IPersistentVector v  = LazilyPersistentVector.createOwning();
     IPersistentStack  v2 = ((IPersistentStack)v).pop();
 }
コード例 #18
0
        public void LengthWorks()
        {
            IPersistentVector v = LazilyPersistentVector.createOwning(1, 2, 3);

            Expect(v.length(), EqualTo(3));
        }