public void AddingItems_AfterClear_ShouldSynchronizeItems() { var hashSetTestObject = new NotifyPropertyChangedHashSetTestObject { RandomIntProperty = 5 }; var SourceSynchronizerRoot = new SourceSynchronizerRoot(hashSetTestObject); hashSetTestObject.Players.Clear(); var TargetSynchronizerRoot = new TargetSynchronizerRoot <NotifyPropertyChangedHashSetTestObject>(SourceSynchronizerRoot.WriteFullAndDispose()); hashSetTestObject.Players.Add(new NotifyPropertyChangedTestPlayer { Name = "player1", Health = 100, Level = 30 }); hashSetTestObject.Players.Add(new NotifyPropertyChangedTestPlayer { Name = "player2", Health = 44, Level = 1337 }); TargetSynchronizerRoot.Read(SourceSynchronizerRoot.WriteChangesAndDispose().SetTick(TimeSpan.FromMilliseconds(10))); NotifyPropertyChangedHashSetTestObject targetGameWorld = TargetSynchronizerRoot.Reference; AssertExtension.AssertCloneEqual(hashSetTestObject, targetGameWorld); }
public void SynchronizingFull_TargetObjectEqualsSource() { var sourceGameWorld = new NotifyPropertyChangedHashSetTestObject { RandomIntProperty = 5 }; sourceGameWorld.Players.Add(new NotifyPropertyChangedTestPlayer { Name = "player1", Health = 100, Level = 30 }); sourceGameWorld.Players.Add(new NotifyPropertyChangedTestPlayer { Name = "player2", Health = 44, Level = 1337 }); var SourceSynchronizerRoot = new SourceSynchronizerRoot(sourceGameWorld); var TargetSynchronizerRoot = new TargetSynchronizerRoot <NotifyPropertyChangedHashSetTestObject>(SourceSynchronizerRoot.WriteFullAndDispose()); NotifyPropertyChangedHashSetTestObject targetGameWorld = TargetSynchronizerRoot.Reference; AssertExtension.AssertCloneEqual(sourceGameWorld, targetGameWorld); }