public void AddingItemsShouldChangeTheContentHash(string[] toAdd) { PexAssume.IsNotNull(toAdd); PexAssume.AreElementsNotNull(toAdd); PexAssume.IsTrue(toAdd.Length > 0); (new TestScheduler()).With(sched => { var fixture = new SerializedCollection<ModelTestFixture>(); var hashes = new List<Guid>(); int changeCount = 0; fixture.Changed.Subscribe(_ => { hashes.Add(fixture.ContentHash); changeCount++; }); foreach (var v in toAdd) { fixture.Add(new ModelTestFixture() {TestString = v}); sched.Start(); } PexAssert.AreDistinctValues(hashes.ToArray()); PexAssert.AreEqual(toAdd.Length, fixture.Count); PexAssert.AreEqual(toAdd.Uniq().Count(), changeCount); }); }
public void AddingItemsShouldChangeTheContentHash(string[] toAdd) { PexAssume.IsNotNull(toAdd); PexAssume.AreElementsNotNull(toAdd); PexAssume.IsTrue(toAdd.Length > 0); (new TestScheduler()).With(sched => { var fixture = new SerializedCollection <ModelTestFixture>(); var hashes = new List <Guid>(); int changeCount = 0; fixture.Changed.Subscribe(_ => { hashes.Add(fixture.ContentHash); changeCount++; }); foreach (var v in toAdd) { fixture.Add(new ModelTestFixture() { TestString = v }); sched.Start(); } PexAssert.AreDistinctValues(hashes.ToArray()); PexAssert.AreEqual(toAdd.Length, fixture.Count); PexAssert.AreEqual(toAdd.Uniq().Count(), changeCount); }); }