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); }
public void ContainsIsTrueForAddedItem(CollectionTestArgs <T, TSize, THive> args) { IgnoreTestIfHiveIsReadOnly(args.Hive); T item = CreateRandomItem(); args.Hive.Add(item); Assert.IsTrue(args.Hive.Contains(item)); }
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); }
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); }
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); } }
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); } }
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); } }
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)); }
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); } }