public void All_Models_Should_Have_DataContract_Attributes()
{
var assembly = Assembly.GetAssembly(typeof(GetPageRequest));
var allTypes = assembly.GetTypes();
var models = allTypes.Where(type => type.IsClass && type.Name.EndsWith("Model", StringComparison.Ordinal)).ToList();
var requests = allTypes.Where(type => type.IsClass && type.Name.EndsWith("Request", StringComparison.Ordinal)).ToList();
var responses = allTypes.Where(type => type.IsClass && type.Name.EndsWith("Response", StringComparison.Ordinal)).ToList();
var anyErrors = HasAnyErrors(models);
anyErrors = anyErrors || HasAnyErrors(requests);
anyErrors = anyErrors || HasAnyErrors(responses);
Assert.IsFalse(anyErrors, "Some classes or properties has no data contract attributes.");
}