public void Test_AddToTarget() { // Arrange. var source = new ObservableCollection <string>(); var target = new ObservableCollection <string>(); var mirror = new CollectionMirror(source, target); // Act. target.Add("1"); // Assert. AssertThat.SequenceEqual(new[] { "1" }, source); AssertThat.SequenceEqual(new[] { "1" }, target); }
public void Test_InsertToSource() { // Arrange. var source = new ObservableCollection <string> { "1", "3" }; var target = new ObservableCollection <string>(); var mirror = new CollectionMirror(source, target); // Act. source.Insert(1, "2"); // Assert. AssertThat.SequenceEqual(new[] { "1", "2", "3" }, source); AssertThat.SequenceEqual(new[] { "1", "2", "3" }, target); }
public void Test_AddToTarget_WithMapping() { // Arrange. var source = new ObservableCollection <string>(); var target = new ObservableCollection <int>(); var mirror = new CollectionMirror(source, target, obj => Int32.Parse((string)obj), obj => obj.ToString()); // Act. target.Add(1); // Assert. AssertThat.SequenceEqual(new[] { "1" }, source); AssertThat.SequenceEqual(new[] { 1 }, target); }
public void Test_ClearTarget() { // Arrange. var source = new ObservableCollection <string> { "1", "2", "3" }; var target = new ObservableCollection <string>(); var mirror = new CollectionMirror(source, target); // Act. target.Clear(); // Assert. AssertThat.SequenceEqual(new string[0], source); AssertThat.SequenceEqual(new string[0], target); }
public void Test_MoveInTarget() { // Arrange. var source = new ObservableCollection <string> { "1", "2", "3" }; var target = new ObservableCollection <string>(); var mirror = new CollectionMirror(source, target); // Act. target.Move(0, 2); // Assert. AssertThat.SequenceEqual(new[] { "2", "3", "1" }, source); AssertThat.SequenceEqual(new[] { "2", "3", "1" }, target); }
/// <summary> /// Initializes a new <see cref="SettingsPropagator"/>. /// </summary> /// <param name="settings">The application settings</param> /// <param name="application">The application object</param> /// <param name="servers">Manages TFS servers</param> public SettingsPropagator(ISettings settings, IApplication application, IServerManagement servers) { _settings = settings; _application = application; _servers = servers; _application.Closing += application_Closing; _application.PropertyChanged += application_PropertyChanged; _serverUris = new CollectionMirror <IServer, Uri>( servers.All, _settings.TfsServers, s => s.Uri); }
public void Test_InitialSynchronization() { // Arrange. var source = new ObservableCollection <string> { "1", "2", "3" }; var target = new ObservableCollection <string> { "4", "5", "6" }; // Act. var mirror = new CollectionMirror(source, target); // Assert. AssertThat.SequenceEqual(new[] { "1", "2", "3" }, source); AssertThat.SequenceEqual(new[] { "1", "2", "3" }, target); }
public void Test_ClearTarget_WithMapping() { // Arrange. var source = new ObservableCollection <string> { "1", "2", "3" }; var target = new ObservableCollection <int>(); var mirror = new CollectionMirror(source, target, obj => Int32.Parse((string)obj), obj => obj.ToString()); // Act. target.Clear(); // Assert. AssertThat.SequenceEqual(new string[0], source); AssertThat.SequenceEqual(new int[0], target); }
public void Test_MoveInTarget_WithMapping() { // Arrange. var source = new ObservableCollection <string> { "1", "2", "3" }; var target = new ObservableCollection <int>(); var mirror = new CollectionMirror(source, target, obj => Int32.Parse((string)obj), obj => obj.ToString()); // Act. target.Move(0, 2); // Assert. AssertThat.SequenceEqual(new[] { "2", "3", "1" }, source); AssertThat.SequenceEqual(new[] { 2, 3, 1 }, target); }
public void Test_ReplaceInSource_WithMapping() { // Arrange. var source = new ObservableCollection <string> { "1", "2", "3" }; var target = new ObservableCollection <int>(); var mirror = new CollectionMirror(source, target, obj => Int32.Parse((string)obj), obj => obj.ToString()); // Act. source[0] = "0"; // Assert. AssertThat.SequenceEqual(new[] { "0", "2", "3" }, source); AssertThat.SequenceEqual(new[] { 0, 2, 3 }, target); }
public void Test_RemoveIndexFromSource_WithMapping() { // Arrange. var source = new ObservableCollection <string> { "1", "2", "3" }; var target = new ObservableCollection <int>(); var mirror = new CollectionMirror(source, target, obj => Int32.Parse((string)obj), obj => obj.ToString()); // Act. source.RemoveAt(2); // Assert. AssertThat.SequenceEqual(new[] { "1", "2" }, source); AssertThat.SequenceEqual(new[] { 1, 2 }, target); }
public void Test_Dispose_Unsubscribes() { // Arrange. var source = new ObservableCollection <string> { "1", "2", "3" }; var target = new ObservableCollection <string>(); var mirror = new CollectionMirror(source, target); // Act. mirror.Dispose(); source.Add("4"); target.Remove("1"); // Assert. AssertThat.SequenceEqual(new[] { "1", "2", "3", "4" }, source); AssertThat.SequenceEqual(new[] { "2", "3" }, target); }
public void Test_InitialSynchronization_WithMapping() { // Arrange. var source = new ObservableCollection <string> { "1", "2", "3" }; var target = new ObservableCollection <int> { 4, 5, 6 }; // Act. var mirror = new CollectionMirror(source, target, obj => Int32.Parse((string)obj), obj => obj.ToString()); // Assert. AssertThat.SequenceEqual(new[] { "1", "2", "3" }, source); AssertThat.SequenceEqual(new[] { 1, 2, 3 }, target); }
public void Test_AddMultiple() { // Arrange. var source = new Mock <IObservableList> { DefaultValue = DefaultValue.Empty }; source.Setup(s => s.GetEnumerator()).Returns(new[] { "1", "2", "3" }.GetEnumerator()); var target = new ObservableCollection <string>(); var mirror = new CollectionMirror(source.Object, target); // Act. source.Raise(s => s.CollectionChanged += null, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Add, new[] { "4", "5" }, 3)); // Assert. AssertThat.SequenceEqual(new[] { "1", "2", "3", "4", "5" }, target); }
public void Test_RemoveMultiple_WithMapping() { // Arrange. var source = new Mock <IObservableList> { DefaultValue = DefaultValue.Empty }; source.Setup(s => s.GetEnumerator()).Returns(new[] { "1", "2", "3" }.GetEnumerator()); var target = new ObservableCollection <int>(); var mirror = new CollectionMirror(source.Object, target, obj => Int32.Parse((string)obj), obj => obj.ToString()); // Act. source.Raise(s => s.CollectionChanged += null, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Remove, new[] { "2", "3" }, 1)); // Assert. AssertThat.SequenceEqual(new[] { 1 }, target); }