public void CreateOnISeqHasItems()
        {
            ISeq             r = LongRange.create(2, 5);
            PersistentVector v = PersistentVector.create(r);

            Expect((long)v.nth(0)).To.Equal(2);
            Expect((long)v.nth(1)).To.Equal(3);
            Expect((long)v.nth(2)).To.Equal(4);
        }
        public void CreateOnISeqHasItems()
        {
            ISeq             r = LongRange.create(2, 5);
            PersistentVector v = PersistentVector.create(r);

            Expect(v.nth(0), EqualTo(2));
            Expect(v.nth(1), EqualTo(3));
            Expect(v.nth(2), EqualTo(4));
        }
        public void PopOnSmallReturnsOneLess()
        {
            ISeq             r = LongRange.create(2, 20);
            PersistentVector v = PersistentVector.create(r);
            IPersistentStack s = v.pop();

            Expect(v.count(), EqualTo(r.count()));
            Expect(s.count(), EqualTo(v.count() - 1));
        }
Esempio n. 4
0
        public void Setup()
        {
            IPersistentMap meta = new DummyMeta();

            LongRange r = (LongRange)LongRange.create(2L, 5L);

            _objWithNullMeta = (IObj)r;
            _obj             = _objWithNullMeta.withMeta(meta);
            _expectedType    = typeof(LongRange);
        }
        public void CreateOnISeqWithManyItemsWorks()
        {
            // Want to bust out of the first tail, so need to insert more than 32 elements.
            ISeq r = LongRange.create(2, 1000);

            PersistentVector v = PersistentVector.create(r);

            Expect(v.count(), EqualTo(r.count()));
            for (int i = 0; i < v.count(); ++i)
            {
                Expect(v.nth(i), EqualTo(i + 2));
            }
        }
        public void PopOnBigWorks()
        {
            ISeq             r = LongRange.create(0, 100000);
            PersistentVector v = PersistentVector.create(r);
            IPersistentStack s = v;

            for (int i = 16; i < 100000; i++)
            {
                s = s.pop();
            }

            Expect(v.count(), EqualTo(r.count()));
            Expect(s.count(), EqualTo(16));
        }
        public void CreateOnISeqWithManyManyItemsWorks()
        {
            // Want to bust out of the first tail, so need to insert more than 32 elements.
            // Let's get out of the second level, too.

            ISeq             r = LongRange.create(2, 100000);
            PersistentVector v = PersistentVector.create(r);

            Expect(v.count()).To.Equal(r.count());
            for (int i = 0; i < v.count(); ++i)
            {
                Expect((long)v.nth(i)).To.Equal(i + 2L);
            }
        }
        public void AssocNReplacesInRangeForSmall()
        {
            ISeq              r  = LongRange.create(2, 5);
            PersistentVector  v1 = PersistentVector.create(r);
            IPersistentVector v2 = v1.assocN(1, 10);

            Expect(v1.nth(0), EqualTo(2));
            Expect(v1.nth(1), EqualTo(3));
            Expect(v1.nth(2), EqualTo(4));
            Expect(v1.count(), EqualTo(3));
            Expect(v2.nth(0), EqualTo(2));
            Expect(v2.nth(1), EqualTo(10));
            Expect(v2.nth(2), EqualTo(4));
            Expect(v2.count(), EqualTo(3));
        }
        public void AssocNReplacesInRangeForSmall()
        {
            ISeq              r  = LongRange.create(2, 5);
            PersistentVector  v1 = PersistentVector.create(r);
            IPersistentVector v2 = v1.assocN(1, 10L);

            Expect((long)v1.nth(0)).To.Equal(2);
            Expect((long)v1.nth(1)).To.Equal(3);
            Expect((long)v1.nth(2)).To.Equal(4);
            Expect((long)v1.count()).To.Equal(3);
            Expect((long)v2.nth(0)).To.Equal(2);
            Expect((long)v2.nth(1)).To.Equal(10);
            Expect((long)v2.nth(2)).To.Equal(4);
            Expect((long)v2.count()).To.Equal(3);
        }
Esempio n. 10
0
        public void AssocNChangesForBig()
        {
            ISeq              r  = LongRange.create(2, 100000);
            PersistentVector  v1 = PersistentVector.create(r);
            IPersistentVector v2 = v1;

            for (int i = 0; i < 110000; i++)
            {
                v2 = v2.assocN(i, i + 20);
            }

            for (int i = 0; i < v1.count(); ++i)
            {
                Expect(v1.nth(i), EqualTo(i + 2));
            }

            for (int i = 0; i < v2.count(); ++i)
            {
                Expect(v2.nth(i), EqualTo(i + 20));
            }
        }
        public void AssocNChangesForBig()
        {
            ISeq              r  = LongRange.create(2, 100000);
            PersistentVector  v1 = PersistentVector.create(r);
            IPersistentVector v2 = v1;

            for (int i = 0; i < 110000; i++)
            {
                v2 = v2.assocN(i, i + 20L);
            }

            for (int i = 0; i < v1.count(); ++i)
            {
                Expect((long)v1.nth(i)).To.Equal(i + 2L);
            }

            for (int i = 0; i < v2.count(); ++i)
            {
                object o = v2.nth(i);
                Expect(o).To.Be.An.Instance.Of <long>();
                Expect((long)o).To.Equal(i + 20L);
            }
        }
Esempio n. 12
0
 public void Setup()
 {
     _createFn = (start, end) => (object)LongRange.create((long)start, (long)end);
 }