public void Fix_ProjectDoesNotContainLangVersion_LangVersionIsAdded() { /* Arrange */ Project project = CreateFakeProjectFromXml(); GenericFixer sut = CreateLangVersionFixerSut(); /* Act */ sut.Fix(project); /* Assert */ Assert.NotNull( project .Xml.PropertyGroups.SingleOrDefault()? .Properties.SingleOrDefault(p => p.Name == "LangVersion" && p.Value == "latest")); }
public void Fix_ProjectContainsUnconditionalLangVersion_ProjectIsNotModified() { /* Arrange */ const string unconditionalPropertyGroup = @"<PropertyGroup><LangVersion>latest</LangVersion></PropertyGroup>"; Project project = CreateFakeProjectFromXml(unconditionalPropertyGroup); Debug.Assert(!project.IsDirty); GenericFixer sut = CreateLangVersionFixerSut(); /* Act */ sut.Fix(project); /* Assert */ Assert.IsFalse(project.IsDirty); }
public void Fix_ProjectContainsWrongLangVersion_LangVersionIsSet() { /* Arrange */ const string unconditionalPropertyGroup = @"<PropertyGroup><LangVersion>default</LangVersion></PropertyGroup>"; Project project = CreateFakeProjectFromXml(unconditionalPropertyGroup); GenericFixer sut = CreateLangVersionFixerSut(); /* Act */ sut.Fix(project); /* Assert */ Assert.NotNull( project .Xml.PropertyGroups.SingleOrDefault()? .Properties.SingleOrDefault(p => p.Name == "LangVersion" && p.Value == "latest")); }
public void Fix_ProjectContainsConditionalLangVersion_UnconditionalLangVersionIsAdded() { /* Arrange */ const string unconditionalPropertyGroup = @" <PropertyGroup Condition="" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ""> <LangVersion>default</LangVersion> </PropertyGroup>"; Project project = CreateFakeProjectFromXml(unconditionalPropertyGroup); GenericFixer sut = CreateLangVersionFixerSut(); /* Act */ sut.Fix(project); /* Assert */ Assert.NotNull( project .Xml.PropertyGroups.SingleOrDefault(g => g.Condition == string.Empty)? .Properties.SingleOrDefault(p => p.Name == "LangVersion" && p.Value == "latest")); }