Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [TestMethod]
- public void VerifyThatAllAppropriateRepositoriesHaveAnEquivalentAuditingRepository()
- {
- // Fixture setup
- var representativeRepository = typeof(AuthenticationConnectionRepository);
- var representativeAuditingRepository = typeof(AuditingAuthenticationConnectionRepository);
- var expectedRepositories = from t in representativeRepository.Assembly.GetExportedTypes()
- where t.Namespace != representativeAuditingRepository.Namespace
- && t.Name.EndsWith("Repository")
- select "Auditing" + t.Name;
- var auditingRepositoryRegex = new Regex(@"^Auditing\w+Repository$");
- // Exercise system
- var auditingRepositories = from t in representativeAuditingRepository.Assembly.GetExportedTypes()
- where auditingRepositoryRegex.IsMatch(t.Name)
- select t.Name;
- // Verify outcome
- var missingRepositories = expectedRepositories.Except(auditingRepositories);
- Assert.IsFalse(missingRepositories.Any(), "The following auditing repositories are missing: {0}.", missingRepositories.DefaultIfEmpty(string.Empty).Aggregate((n1, n2) => n1 + ", " + n2));
- // Teardown
- }
Add Comment
Please, Sign In to add comment