public void UpdateMatched() { const string key = "Adult1"; var newperson = new Person(key, 50); var updated = new Person(key, 51); _source.Add(newperson); _source.Replace(newperson, updated); Assert.AreEqual(2, _results.Messages.Count, "Should be 2 updates"); Assert.AreEqual(1, _results.Messages[0].Adds, "Should be 1 adds"); Assert.AreEqual(1, _results.Messages[1].Replaced, "Should be 1 update"); }
public void UpdateMatched() { const string key = "Adult1"; var newperson = new Person(key, 50); var updated = new Person(key, 51); _source.Add(newperson); _source.Replace(newperson, updated); _results.Messages.Count.Should().Be(2, "Should be 2 updates"); _results.Messages[0].Adds.Should().Be(1, "Should be 1 adds"); _results.Messages[1].Replaced.Should().Be(1, "Should be 1 update"); }
public void Replacing() { var person = new Person("A", 20); var replaceWith = new Person("A", 21); _source.Add(person); _source.Replace(person, replaceWith); _results.Messages.Count.Should().Be(2, "Should be 1 update message"); _results.Data.Count.Should().Be(1, "Should be 1 items in the cache"); _results.Messages.First().Adds.Should().Be(1, "First message should be an add"); _results.Messages.Skip(1).First().Count.Should().Be(2, "Second messsage should be an add an a remove"); }
public void Replace() { var people = _generator.Take(100).ToArray(); _source.AddRange(people); var shouldbefirst = new Person("__A", 99); _source.Replace(10, shouldbefirst); Assert.AreEqual(100, _results.Data.Count, "Should be 100 people in the cache"); Assert.AreEqual(shouldbefirst, _results.Data.Items.First()); }
public void UpdateWillChangeTheGroup() { var person = new Person("Adult1", 50); var amended = new Person("Adult1", 60); _source.Add(person); _source.Replace(0, amended); Assert.AreEqual(2, _results.Messages.Count, "Should be 2 updates"); Assert.AreEqual(1, _results.Data.Count, "Should be 1 item in the cache"); var firstGroup = _results.Data.Items.First().List.Items.ToArray(); Assert.AreEqual(person, firstGroup[0], "Should be same person"); }
public void UpdateAnItemWillChangedThegroup() { var person1 = new Person("Person1", 20); _source.Add(person1); _source.Replace(person1, new Person("Person1", 21)); Assert.AreEqual(1, _results.Data.Count); Assert.AreEqual(1, _results.Messages.First().Adds); Assert.AreEqual(1, _results.Messages.Skip(1).First().Adds); Assert.AreEqual(1, _results.Messages.Skip(1).First().Removes); var group = _results.Data.Items.First(); Assert.AreEqual(1, group.Count); Assert.AreEqual(21, group.Key); }
public void UpdateAnItemWillChangedThegroup() { var person1 = new Person("Person1", 20); _source.Add(person1); _source.Replace(person1, new Person("Person1", 21)); _results.Data.Count.Should().Be(1); _results.Messages.First().Adds.Should().Be(1); _results.Messages.Skip(1).First().Adds.Should().Be(1); _results.Messages.Skip(1).First().Removes.Should().Be(1); var group = _results.Data.Items.First(); group.Count.Should().Be(1); group.Key.Should().Be(21); }
public void Replace() { var frientofchild1 = new PersonWithRelations("Friend1", 10); var child1 = new PersonWithRelations("Child1", 10, new[] { frientofchild1 }); var child2 = new PersonWithRelations("Child2", 8); var child3 = new PersonWithRelations("Child3", 8); var mother = new PersonWithRelations("Mother", 35, new[] { child1, child2, child3 }); _source.Add(mother); var child4 = new PersonWithRelations("Child4", 2); var updatedMother = new PersonWithRelations("Mother", 35, new[] { child1, child2, child4 }); _source.Replace(mother, updatedMother); _results.Data.Count.Should().Be(4); _results.Data.Items.ShouldAllBeEquivalentTo(new[] { child1, child2, frientofchild1, child4 }); }
public void ExpireIsCancelledWhenUpdated() { var remover = _source.ExpireAfter(p => TimeSpan.FromMilliseconds(100), _scheduler).Subscribe(); var p1 = new Person("Name1", 20); var p2 = new Person("Name1", 21); _source.Add(p1); _source.Replace(p1, p2); _scheduler.AdvanceBy(TimeSpan.FromMilliseconds(200).Ticks); remover.Dispose(); _results.Data.Count.Should().Be(0, "Should be no data in the cache"); _results.Messages.Count.Should().Be(3, "Should be 3 updates"); _results.Messages[0].Adds.Should().Be(1, "Should be 1 add in the first message"); _results.Messages[1].Replaced.Should().Be(1, "Should be 1 update in the second message"); _results.Messages[2].Removes.Should().Be(1, "Should be 1 remove in the 3rd message"); }