public void CompareMatchReturnsBreakingWhenOrdinalArgumentValueChanged() { var oldArgument = Model.UsingModule <ConfigurationModule>().Create <TestArgumentDefinition>() .Set(x => x.ArgumentType = ArgumentType.Ordinal); var oldArguments = new[] { oldArgument }; var oldAttribute = Model.UsingModule <ConfigurationModule>().Create <TestAttributeDefinition>() .Set(x => x.Arguments = oldArguments); var newArgument = Model.UsingModule <ConfigurationModule>().Create <TestArgumentDefinition>().Set( x => { x.ArgumentType = ArgumentType.Ordinal; }); var newArguments = new[] { newArgument }; var newAttribute = Model.UsingModule <ConfigurationModule>().Create <TestAttributeDefinition>() .Set(x => x.Arguments = newArguments); var match = new ItemMatch <IAttributeDefinition>(oldAttribute, newAttribute); var options = OptionsFactory.BuildOptions(); var sut = new AttributeComparer(); var actual = sut.CompareMatch(match, options).ToList(); _output.WriteResults(actual); actual.Should().HaveCount(1); actual[0].ChangeType.Should().Be(SemVerChangeType.Breaking); actual[0].OldItem.Should().BeAssignableTo <IArgumentDefinition>(); actual[0].NewItem.Should().BeAssignableTo <IArgumentDefinition>(); }
public void CompareMatchThrowsExceptionWithNullOptions() { var oldItem = new TestAttributeDefinition(); var newItem = new TestAttributeDefinition(); var match = new ItemMatch <IAttributeDefinition>(oldItem, newItem); var sut = new AttributeComparer(); Action action = () => sut.CompareMatch(match, null !); action.Should().Throw <ArgumentNullException>(); }
public void CompareMatchReturnsEmptyChangesWhenAttributesDoNotHaveArguments() { var oldItem = Model.UsingModule <ConfigurationModule>().Ignoring <TestAttributeDefinition>(x => x.Arguments) .Create <TestAttributeDefinition>(); var newItem = Model.UsingModule <ConfigurationModule>().Ignoring <TestAttributeDefinition>(x => x.Arguments) .Create <TestAttributeDefinition>(); var match = new ItemMatch <IAttributeDefinition>(oldItem, newItem); var options = OptionsFactory.BuildOptions(); var sut = new AttributeComparer(); var actual = sut.CompareMatch(match, options); actual.Should().BeEmpty(); }
public void CompareMatchReturnsBreakingWhenArgumentsRemoved() { var oldItem = Model.UsingModule <ConfigurationModule>().Create <TestAttributeDefinition>(); var newItem = Model.UsingModule <ConfigurationModule>().Ignoring <TestAttributeDefinition>(x => x.Arguments) .Create <IAttributeDefinition>(); var match = new ItemMatch <IAttributeDefinition>(oldItem, newItem); var options = OptionsFactory.BuildOptions(); var sut = new AttributeComparer(); var actual = sut.CompareMatch(match, options).ToList(); _output.WriteResults(actual); actual.Should().HaveCount(1); actual[0].ChangeType.Should().Be(SemVerChangeType.Breaking); actual[0].OldItem.Should().Be(oldItem); actual[0].NewItem.Should().Be(newItem); }
public void CompareMatchReturnsEmptyResultsWhenNoChangeFound() { var ordinalArgument = Model.UsingModule <ConfigurationModule>().Create <TestArgumentDefinition>() .Set(x => x.ArgumentType = ArgumentType.Ordinal); var namedArgument = Model.UsingModule <ConfigurationModule>().Create <TestArgumentDefinition>() .Set(x => x.ArgumentType = ArgumentType.Named); var oldArguments = new[] { ordinalArgument, namedArgument }; var attribute = Model.UsingModule <ConfigurationModule>().Create <TestAttributeDefinition>() .Set(x => x.Arguments = oldArguments); var match = new ItemMatch <IAttributeDefinition>(attribute, attribute); var options = OptionsFactory.BuildOptions(); var sut = new AttributeComparer(); var actual = sut.CompareMatch(match, options).ToList(); actual.Should().BeEmpty(); }