Exemple #1
0
        public void RetainTargetCollection()
        {
            var tc = new ObservableCollection <int>();

            var conn = new TransformerCollectionObserver <int, int>(Identity);

            Assert.IsNull(conn.TargetCollection);

            conn.TargetCollection = tc;
            Assert.AreSame(tc, conn.TargetCollection);
        }
Exemple #2
0
        public void NotCrashWhenSettingSourceCollection()
        {
            var sc = new ObservableCollection <int> {
                1
            };
            var tc   = new ObservableCollection <int>();
            var conn = new TransformerCollectionObserver <int, int>(number => number + 1)
            {
                SourceCollection = sc,
                TargetCollection = tc
            };

            Assert.AreSame(sc, conn.SourceCollection);
        }
Exemple #3
0
        public void AddItemToTheTargetWhenAddedToTheSource()
        {
            var sc = new ObservableCollection <int>();
            var tc = new ObservableCollection <int>();

            // ReSharper disable once UnusedVariable => variable needed to correctly create the connector that will set up the MVVM components.
            var conn = new TransformerCollectionObserver <int, int>(n => n)
            {
                SourceCollection = sc, TargetCollection = tc
            };

            sc.Add(1);

            AssertCollectionsAreEqual(sc, tc);
        }
Exemple #4
0
        public void NotRecalculateTargetCollectionIfTheSameTargetCollectionIsSet()
        {
            var sc = new ObservableCollection <int> {
                1
            };
            var tc = new ObservableCollection <int>();

            var conn = new TransformerCollectionObserver <int, int>(number => number + 1)
            {
                SourceCollection = sc,
                TargetCollection = tc
            };

            tc.CollectionChanged +=
                (obj, e) => { Assert.Fail("Target collection items changed when setting to the same collection!"); };

            conn.TargetCollection = tc;
        }
Exemple #5
0
        public void MoveTargetCollectionElementWhenSourceCollectionElementIsMoved()
        {
            var sc = new ObservableCollection <int> {
                2, 1
            };
            var tc = new ObservableCollection <int>();

            // ReSharper disable once UnusedVariable => variable needed to correctly create the connector that will set up the MVVM components.
            var conn = new TransformerCollectionObserver <int, int>(Identity)
            {
                SourceCollection = sc,
                TargetCollection = tc
            };

            AssertCollectionsAreEqual(sc, tc);

            sc.Move(0, 1);

            AssertCollectionsAreEqual(sc, tc);
        }
Exemple #6
0
        public void ReplaceItemInTargetWhenReplacedInSourceCollection()
        {
            var sc = new ObservableCollection <int> {
                1, 2, 3
            };
            var tc = new ObservableCollection <int>();

            // ReSharper disable once UnusedVariable => variable needed to correctly create the connector that will set up the MVVM components.
            var conn = new TransformerCollectionObserver <int, int>(Identity)
            {
                SourceCollection = sc,
                TargetCollection = tc
            };

            AssertCollectionsAreEqual(sc, tc);

            sc[0] = 4;

            AssertCollectionsAreEqual(sc, tc);
        }
Exemple #7
0
        public void ProperlyCopyTheObjectsWhenSourceCollectionIsChanged()
        {
            var sc1 = new ObservableCollection <int> {
                1, 2, 3
            };
            var sc2 = new ObservableCollection <int> {
                2, 3, 4
            };
            var tc = new ObservableCollection <int>();

            var conn = new TransformerCollectionObserver <int, int>(Identity)
            {
                SourceCollection = sc1,
                TargetCollection = tc
            };

            AssertCollectionsAreEqual(sc1, tc);

            conn.SourceCollection = sc2;

            AssertCollectionsAreEqual(sc2, tc);
        }