public void GenerateRequestClassTest() { var decorator = new CountingRequestDecorator(); var generator = new RequestClassGenerator(new IRequestDecorator[] { decorator }); var decl = new CodeTypeDeclaration(); // Create a test resource. var resource = new MockResource(); MockMethod method = new MockMethod() { Name = "MethodA" }; resource.Methods.Add("MethodA", method); // Run the generator CodeTypeDeclaration newClass = generator.GenerateRequestClass(resource, method, decl, new string[0]); Assert.IsNotNull(newClass); Assert.AreEqual(1, decorator.TimesCalled); Assert.AreEqual(0, newClass.Members.Count); }
public void GenerateRequestClassDecoratorOrderTest() { var generator = new RequestClassGenerator( new IRequestDecorator[] { new MockRequestDecorator("One"), new MockRequestDecorator("Two"), new MockRequestDecorator("Three") }); var decl = new CodeTypeDeclaration(); var resource = new MockResource(); var method = new MockMethod(); // Check the order of the generated members. var genClass = generator.GenerateRequestClass(resource, method, decl, Enumerable.Empty<string>()); Assert.AreEqual(3, genClass.Members.Count); Assert.AreEqual("One", genClass.Members[0].Name); Assert.AreEqual("Two", genClass.Members[1].Name); Assert.AreEqual("Three", genClass.Members[2].Name); }