public void DecorateClassValidationTest() { var dec = new SubresourceClassDecorator(); var resource = new MockResource(); const string className = "TestClass"; var decl = new CodeTypeDeclaration(); const string serviceName = "TestService"; IEnumerable <IResourceDecorator> decorators = GoogleServiceGenerator.GetSchemaAwareResourceDecorators("Generated.Data."); // Create generators. var resourceGen = new ResourceContainerGenerator( GoogleServiceGenerator.StandardResourceContainerDecorator); var requestGen = new RequestClassGenerator(new IRequestDecorator[0]); var gen = new ResourceClassGenerator( resource, serviceName, decorators, requestGen, resourceGen, new string[0]); // Validate method: Assert.Throws <ArgumentNullException>( () => dec.DecorateClass(null, className, decl, gen, serviceName, decorators)); Assert.Throws <ArgumentNullException>( () => dec.DecorateClass(resource, null, decl, gen, serviceName, decorators)); Assert.Throws <ArgumentNullException>( () => dec.DecorateClass(resource, className, null, gen, serviceName, decorators)); Assert.Throws <ArgumentNullException>( () => dec.DecorateClass(resource, className, decl, null, serviceName, decorators)); Assert.Throws <ArgumentNullException>( () => dec.DecorateClass(resource, className, decl, gen, null, decorators)); Assert.Throws <ArgumentNullException>( () => dec.DecorateClass(resource, className, decl, gen, serviceName, null)); // Test normal use case. dec.DecorateClass(resource, className, decl, gen, serviceName, decorators); }