public async Task ValidateShouldSucceedWhenOptionalReferenceIsMissing() { // Arrange var project = new ProjectBuilder().Build(); var data = new ProjectReferenceRuleData { Required = false, Name = "Project" }; var sut = new ProjectReferenceRule(data); // Act var actual = await sut.Validate(project); // Assert Assert.False(actual.IsError); }
public async Task ValidateShouldFailWhenRequiredReferenceIsMissing() { // Arrange var project = new ProjectBuilder().Build(); var data = new ProjectReferenceRuleData { Required = true, Name = "Project" }; var sut = new ProjectReferenceRule(data); // Act var actual = await sut.Validate(project); // Assert Assert.True(actual.IsError); }
public async Task ValidateShouldSucceedWhenOptionalProjectIsReferenced() { // Arrange var project = new ProjectBuilder() .WithItemGroup() .WithProjectReference("Project") .Build(); var data = new ProjectReferenceRuleData { Name = "Project", Required = false }; var sut = new ProjectReferenceRule(data); // Act var actual = await sut.Validate(project); // Assert Assert.False(actual.IsError); }
public async Task ValidateShouldSucceedWhenNameMatchesButPathDoesNot() { // Arrange var project = new ProjectBuilder() .WithItemGroup() .WithProjectReference("Path/Project") .Build(); var data = new ProjectReferenceRuleData { Name = "Project", Required = true }; var sut = new ProjectReferenceRule(data); // Act var actual = await sut.Validate(project); // Assert Assert.False(actual.IsError); }
public async Task ValidateShouldFailWhenForbiddenReferenceExists() { // Arrange var project = new ProjectBuilder() .WithItemGroup() .WithProjectReference("Project") .Build(); var data = new ProjectReferenceRuleData { Forbidden = true, Name = "Project" }; var sut = new ProjectReferenceRule(data); // Act var actual = await sut.Validate(project); // Assert Assert.True(actual.IsError); }