Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,37 @@
[TestClass]
public class AssemblyNameViolationDetectorTests
{
[TestMethod]
public void GetViolationsFrom_WhenMultipleRulesDefined_LoadsAndDetectsAllRules()
{
// Arrange.
const string assembly1 = "System.Xml";
const string assembly2 = "System.Text";
const string assembly3 = "System.Data";
var config = new ReferenceCopConfigBuilder()
.WithAssemblyNameRule(assembly1)
.WithAssemblyNameRule(assembly2)
.WithAssemblyNameRule(assembly3)
.Build();
var detector = new AssemblyNameViolationDetector(new ExactMatchComparer(), config);
var references = new[]
{
ReferenceEvaluationContextFactory.Create(new AssemblyIdentity(assembly1)),
ReferenceEvaluationContextFactory.Create(new AssemblyIdentity(assembly2)),
ReferenceEvaluationContextFactory.Create(new AssemblyIdentity(assembly3)),
ReferenceEvaluationContextFactory.Create(new AssemblyIdentity("System.IO")),
};

// Act
var violations = detector.GetViolationsFrom(references).ToList();

// Assert
violations.Should().HaveCount(3, "because all three rules should be loaded and detected");
violations.Should().Contain(v => v.ReferenceName == assembly1);
violations.Should().Contain(v => v.ReferenceName == assembly2);
violations.Should().Contain(v => v.ReferenceName == assembly3);
}

[TestMethod]
public void GetViolationsFrom_WhenNoRules_ReturnsEmpty()
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,6 @@ private void LoadRulesFrom(ReferenceCopConfig config)
try
{
this.rules.Add(rule.Pattern, rule);
break;
}
catch (ArgumentException)
{
Expand Down
Loading