Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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);
        }
Esempio n. 7
0
        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);
        }
Esempio n. 8
0
        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);
        }
Esempio n. 9
0
        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);
        }
Esempio n. 10
0
        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);
        }
Esempio n. 11
0
        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);
        }
Esempio n. 12
0
        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);
        }
Esempio n. 13
0
        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);
        }
Esempio n. 14
0
        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);
        }
Esempio n. 15
0
        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);
        }