Ejemplo n.º 1
0
        public void AddRangeDoesNotIncrementRevisionWhenRangeIsEmpty(CollectionTestArgs <T, TSize, THive> args)
        {
            IgnoreTestIfHiveIsReadOnly(args.Hive);

            long initialRevision = args.Hive.Revision;

            args.Hive.AddRange(CreateRange(0));
            Assert.AreEqual(args.Hive.Revision, initialRevision);
        }
Ejemplo n.º 2
0
        public void ContainsIsTrueForAddedItem(CollectionTestArgs <T, TSize, THive> args)
        {
            IgnoreTestIfHiveIsReadOnly(args.Hive);

            T item = CreateRandomItem();

            args.Hive.Add(item);
            Assert.IsTrue(args.Hive.Contains(item));
        }
Ejemplo n.º 3
0
        public void AddRangeIncrementsRevisionWhenRangeIsNotEmpty(CollectionTestArgs <T, TSize, THive> args)
        {
            const int RANGE_SIZE = 3;

            IgnoreTestIfHiveIsReadOnly(args.Hive);

            long initialRevision = args.Hive.Revision;

            args.Hive.AddRange(CreateRange(RANGE_SIZE));
            Assert.Greater(args.Hive.Revision, initialRevision);
        }
Ejemplo n.º 4
0
        public void AddRangeIncrementsCount(CollectionTestArgs <T, TSize, THive> args)
        {
            const int RANGE_SIZE = 3;

            IgnoreTestIfHiveIsReadOnly(args.Hive);

            TSize initialCount = args.Hive.Count;

            args.Hive.AddRange(CreateRange(RANGE_SIZE));
            Assert.AreEqual(Size.Add(initialCount, RANGE_SIZE), args.Hive.Count);
        }
Ejemplo n.º 5
0
        public void AddIncrementsRevision(CollectionTestArgs <T, TSize, THive> args)
        {
            IgnoreTestIfHiveIsReadOnly(args.Hive);

            for (int i = 0; i < 3; i++)
            {
                long revision = args.Hive.Revision;
                args.Hive.Add(CreateRandomItem());
                Assert.GreaterThan(args.Hive.Revision, revision, "Add #{0}", i);
            }
        }
Ejemplo n.º 6
0
        public void AddIncrementsCount(CollectionTestArgs <T, TSize, THive> args)
        {
            IgnoreTestIfHiveIsReadOnly(args.Hive);

            for (int i = 0; i < 3; i++)
            {
                TSize initialCount = args.Hive.Count;
                args.Hive.Add(CreateRandomItem());
                Assert.AreEqual(Size.Add(initialCount, 1), args.Hive.Count, "Add #{0}", i);
            }
        }
Ejemplo n.º 7
0
        public void RemoveDecrementsCount(CollectionTestArgs <T, TSize, THive> args)
        {
            IgnoreTestIfHiveIsReadOnly(args.Hive);

            TSize itemIndex = Size.Zero;

            foreach (T expectedItem in args.ExpectedItems)
            {
                TSize initialCount = args.Hive.Count;
                args.Hive.Remove(expectedItem);
                Assert.AreEqual(Size.Subtract(initialCount, 1), args.Hive.Count, "item[{0}]", itemIndex);
                Size.Decrement(ref itemIndex);
            }
        }
Ejemplo n.º 8
0
        public void ContainsIsFalseForRemovedItem(CollectionTestArgs <T, TSize, THive> args)
        {
            IgnoreTestIfHiveIsReadOnly(args.Hive);
            if (args.ExpectedItems.Count == 0)
            {
                Assert.Ignore("Collection does not contain any items to remove");
            }

            // TODO: This test is assuming set semantics at the moment!
            T item = args.ExpectedItems[0];

            args.Hive.Remove(item);
            Assert.IsFalse(args.Hive.Contains(item));
        }
Ejemplo n.º 9
0
        public void RemoveIncrementsRevision(CollectionTestArgs <T, TSize, THive> args)
        {
            IgnoreTestIfHiveIsReadOnly(args.Hive);

            TSize itemIndex = Size.Zero;

            foreach (T expectedItem in args.ExpectedItems)
            {
                long revision = args.Hive.Revision;
                args.Hive.Remove(expectedItem);
                Assert.GreaterThan(args.Hive.Revision, revision, "Remove #{0}", itemIndex);
                Size.Decrement(ref itemIndex);
            }
        }