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; }
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)}"); }
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)); }
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); }