public async Task ReturnsResultBasedOnAttributesOnClass(string updatedValue, AttributeCompareOption compareOption, SemVerChangeType expected) { var oldCode = new List <CodeSource> { new(TypeDefinitionCode.ClassWithAttribute) }; var newCode = new List <CodeSource> { new( TypeDefinitionCode.ClassWithAttribute.Replace("[JsonPropertyName(\"item\")]", updatedValue)) }; var options = OptionsFactory.BuildOptions().Set(x => x.CompareAttributes = compareOption); var result = await _calculator.CalculateChanges(oldCode, newCode, options, CancellationToken.None) .ConfigureAwait(false); result.ChangeType.Should().Be(expected); }
public async Task EvaluatesChangesToAttribute(string updatedValue, AttributeCompareOption compareOption, SemVerChangeType expected) { var oldCode = new List <CodeSource> { new(SingleProperty) }; var newCode = new List <CodeSource> { new(SingleProperty.Replace("[PropertyAttribute(344, true, myName: \"on the property\")]", updatedValue)) }; var options = OptionsFactory.BuildOptions().Set(x => x.CompareAttributes = compareOption); var result = await _calculator.CalculateChanges(oldCode, newCode, options, CancellationToken.None) .ConfigureAwait(false); result.ChangeType.Should().Be(expected); }
public async Task EvaluatesChangeOfMethodAttribute( string oldAttribute, string newAttribute, AttributeCompareOption compareOptions, SemVerChangeType expected) { var oldCode = new List <CodeSource> { new(NoParameters.Replace("public string MyMethod", oldAttribute + " public string MyMethod")) }; var newCode = new List <CodeSource> { new(NoParameters.Replace("public string MyMethod", newAttribute + " public string MyMethod")) }; var options = OptionsFactory.BuildOptions(); options.CompareAttributes = compareOptions; var result = await _calculator.CalculateChanges(oldCode, newCode, options, CancellationToken.None) .ConfigureAwait(false); result.ChangeType.Should().Be(expected); }