Ejemplo n.º 1
0
        public void UpdateCollectionAssignsBrushToEachItem()
        {
            // Arrange

            var brush = Brushes.MidnightBlue;

            var service = Mock.Of<IProjectBrushService>(p =>
                p.GetBrush(
                    It.IsAny<string>(),
                    It.IsAny<IUserPreferences>()) == brush);

            var preferences = Mock.Of<IUserPreferences>();

            var updateReaction = new AssignProjectColoursReaction(service);

            var metadataCollection = new[]
            {
                CreateDocumentMetadata(),
                CreateDocumentMetadata(),
                CreateDocumentMetadata()
            };

            var view = new ListCollectionView(metadataCollection);

            // Act

            updateReaction.UpdateCollection(view, preferences);

            // Assert

            Assert.That(metadataCollection[0].ProjectBrush, Is.EqualTo(brush));
            Assert.That(metadataCollection[1].ProjectBrush, Is.EqualTo(brush));
            Assert.That(metadataCollection[2].ProjectBrush, Is.EqualTo(brush));
        }
        public void UpdateCollectionAssignsBrushToEachItemInCollectionViewSource()
        {
            // Arrange

            var brush = Brushes.MidnightBlue;

            var service = Mock.Of <IProjectBrushService>(p =>
                                                         p.GetBrush(
                                                             It.IsAny <string>(),
                                                             It.IsAny <IUserPreferences>()) == brush);

            var preferences    = Mock.Of <IUserPreferences>();
            var updateReaction = new AssignProjectColoursReaction(service);

            var metadataCollection = new[]
            {
                CreateDocumentMetadata(),
                CreateDocumentMetadata(),
                CreateDocumentMetadata()
            };

            var view = new ListCollectionView(metadataCollection)
            {
                Filter = obj =>
                {
                    // Use IsActive as indication of being included in filter
                    // in this test

                    var metadata = (DocumentMetadata)obj;
                    metadata.IsActive = metadata == metadataCollection[0];
                    return(metadata.IsActive);
                }
            };

            // Act

            updateReaction.UpdateCollection(view, preferences);

            // Assert

            Assert.That(metadataCollection[0].ProjectBrush, Is.EqualTo(brush));
            Assert.That(metadataCollection[1].ProjectBrush, Is.EqualTo(brush));
            Assert.That(metadataCollection[2].ProjectBrush, Is.EqualTo(brush));

            Assert.IsTrue(metadataCollection[0].IsActive);
            Assert.IsFalse(metadataCollection[1].IsActive);
            Assert.IsFalse(metadataCollection[2].IsActive);
        }