public void Execute(Types data, IConventionResultContext result) { result.IsSymmetric( string.Format("{0}s must be under the '{1}' namespace", classType, namespaceToCheck), string.Format("Non-{0}s must not be under the '{1}' namespace", classType, namespaceToCheck), classIsApplicable, TypeLivesInSpecifiedNamespace, data.TypesToVerify.Where(t => !t.IsCompilerGenerated())); }
public void Execute(Types data, IConventionResultContext result) { result.IsSymmetric( "All types inheriting from exception must end with 'Exception'", data .Where(t => t.IsSubclassOf(typeof(Exception))) .Where(t => !t.Name.EndsWith("Exception")), "All types ending with 'Exception' must inherit from Exception", data .Where(t => t.Name.EndsWith("Exception")) .Where(t => !t.IsSubclassOf(typeof(Exception)))); }
public void Execute(Types data, IConventionResultContext result) { var controllers = GetControllers(data); var typesWhichDoNotEndInController = controllers.Where(c => !c.Name.EndsWith("Controller")); var typesWhichEndInController = data.TypesToVerify.Where(t => t.Name.EndsWith("Controller")); var controllersWhichDoNotInheritFromController = typesWhichEndInController.Where(t => !IsMvcController(t) && !IsWebApiController(t)); result.IsSymmetric( GetControllerTypeName() + "s must be suffixed with Controller", typesWhichDoNotEndInController, "Types named *Controller must inherit from ApiController or Controller", controllersWhichDoNotInheritFromController); }
public void Execute(Types data, IConventionResultContext result) { var shouldThrowMethods = data .SelectMany(t => t.GetMethods()) .Where(method => method.Name.StartsWith("Throw") || method.Name.StartsWith("ShouldThrow")) .Select(throwMethod => new ShouldThrowMethod(throwMethod)) .ToList(); var extensionMethods = shouldThrowMethods.Where(m => m.IsShouldlyExtension).ToList(); var staticMethods = shouldThrowMethods.Where(m => !m.IsShouldlyExtension).ToList(); var firstSetFailureData = staticMethods.Where(e => !extensionMethods.Any(e.Equals)); var secondSetFailureData = extensionMethods.Where(e => !staticMethods.Any(e.Equals)); result.IsSymmetric( "Should.Throw method without corresponding ShouldThrow extension method", firstSetFailureData, "ShouldThrow extension method without Should.Throw static method", secondSetFailureData); }