Beispiel #1
0
 public LabelResolvingTicketEditorDecorator(IEditsTicket wrappedInstance, IGetsLabels labelProvider)
 {
     if (labelProvider == null)
     {
         throw new ArgumentNullException(nameof(labelProvider));
     }
     if (wrappedInstance == null)
     {
         throw new ArgumentNullException(nameof(wrappedInstance));
     }
     this.wrappedInstance = wrappedInstance;
     this.labelProvider   = labelProvider;
 }
        public LabelPopulatingTicketFactoryDecorator(ICreatesTicket wrappedInstance, IGetsLabels labelProvider)
        {
            if (wrappedInstance == null)
            {
                throw new ArgumentNullException(nameof(wrappedInstance));
            }
            if (labelProvider == null)
            {
                throw new ArgumentNullException(nameof(labelProvider));
            }

            this.wrappedInstance = wrappedInstance;
            this.labelProvider   = labelProvider;
        }
        public ExistingAndNewLabelProvider(IGetsLabels existingLabelProvider,
                                           IGetsLabels newLabelProvider,
                                           IParsesLabelNames labelNameParser) : base(labelNameParser)
        {
            if (existingLabelProvider == null)
            {
                throw new ArgumentNullException(nameof(existingLabelProvider));
            }
            if (newLabelProvider == null)
            {
                throw new ArgumentNullException(nameof(newLabelProvider));
            }

            this.existingLabelProvider = existingLabelProvider;
            this.newLabelProvider      = newLabelProvider;
        }
Beispiel #4
0
        public void CreateTicket_adds_labels_from_label_provider([Frozen, CreatesATicket] ICreatesTicket wrapped,
                                                                 [Frozen] IGetsLabels labelProvider,
                                                                 Label labelOne,
                                                                 Label labelTwo,
                                                                 CreateTicketRequest request,
                                                                 LabelPopulatingTicketFactoryDecorator sut)
        {
            // Arrange
            Mock.Get(labelProvider)
            .Setup(x => x.GetLabels(request.CommaSeparatedLabelNames))
            .Returns(new [] { labelOne, labelTwo });

            // Act
            var result = sut.CreateTicket(request);

            // Assert
            Assert.That(result?.Labels, Contains.Item(labelOne), $"Contains {nameof(labelOne)}");
            Assert.That(result?.Labels, Contains.Item(labelTwo), $"Contains {nameof(labelTwo)}");
        }
Beispiel #5
0
        public void GetLabels_returns_results_from_new_provider(IGetsLabels existingProvider,
                                                                IGetsLabels newProvider,
                                                                IParsesLabelNames nameParser,
                                                                Label newLabel)
        {
            // Arrange
            Mock.Get(existingProvider)
            .Setup(x => x.GetLabels(It.IsAny <IReadOnlyCollection <string> >()))
            .Returns(new Label[0]);
            Mock.Get(newProvider)
            .Setup(x => x.GetLabels(It.IsAny <IReadOnlyCollection <string> >()))
            .Returns(new [] { newLabel });
            var sut = new ExistingAndNewLabelProvider(existingProvider, newProvider, nameParser);

            // Act
            var result = sut.GetLabels(new [] { newLabel.Name });

            // Assert
            Assert.That(result, Has.Exactly(1).SameAs(newLabel));
        }
Beispiel #6
0
        public void GetLabels_passes_name_to_new_provider_if_it_does_not_have_an_existing_label(IGetsLabels existingProvider,
                                                                                                IGetsLabels newProvider,
                                                                                                IParsesLabelNames nameParser,
                                                                                                string labelName)
        {
            // Arrange
            Mock.Get(existingProvider)
            .Setup(x => x.GetLabels(It.IsAny <IReadOnlyCollection <string> >()))
            .Returns(new Label[0]);
            Mock.Get(newProvider)
            .Setup(x => x.GetLabels(It.IsAny <IReadOnlyCollection <string> >()))
            .Returns(new Label[0]);
            var sut = new ExistingAndNewLabelProvider(existingProvider, newProvider, nameParser);

            // Act
            sut.GetLabels(new [] { labelName });

            // Assert
            Mock.Get(newProvider)
            .Verify(x => x.GetLabels(It.Is <IReadOnlyCollection <string> >(c => c.Count == 1)), Times.Once);
        }