public void SubresourceGenerationTest() { var subresource = new MockResource(); subresource.Name = "Sub"; var resource = new MockResource(); resource.Name = "Test"; resource.Resources.Add(new KeyValuePair <string, IResource>("Sub", subresource)); // Run the generator. var counter = new CountingDecorator(); var generator = ConstructGenerator(resource, counter, new SubresourceClassDecorator()); CodeTypeDeclaration clss = generator.CreateClass(); Assert.IsNotNull(clss); Assert.AreEqual(2, counter.Count); // Confirm that a subclass has been added. var subtypes = from CodeTypeMember m in clss.Members where (m is CodeTypeDeclaration) select m; Assert.AreEqual(1, subtypes.Count()); Assert.AreEqual("SubResource", subtypes.First().Name); }
public void GenerationTest() { var resource = new MockResource(); resource.Name = "Test"; resource.Methods.Add( "TestMethod", new MockMethod { Name = "TestMethod", HttpMethod = "GET", ResponseType = "int" }); // Run the generator. var counter = new CountingDecorator(); var generator = ConstructGenerator(resource, counter, new SubresourceClassDecorator()); CodeTypeDeclaration clss = generator.CreateClass(); Assert.IsNotNull(clss); Assert.AreEqual("TestResource", clss.Name); // Confirm that decorators have run. Assert.AreEqual(1, counter.Count); }
public void CreateClassWithMultipleDecorators() { var once = new CountingDecorator(); var threeTimes = new CountingDecorator(); var decorators = new List <ISchemaDecorator>(4) { once, threeTimes, threeTimes, threeTimes }; var schemaGen = new SchemaGenerator(decorators); MockSchema schema = new MockSchema { Id = "mockSchemaObject", Name = "mockSchemaObject", SchemaDetails = MockSchema.CreateSimpleSchema("mockSchemaObject") }; schemaGen.CreateClass( schema, new Dictionary <JsonSchema, SchemaImplementationDetails>(), Enumerable.Empty <string>()); Assert.AreEqual(1, ((CountingDecorator)decorators[0]).Count); Assert.AreEqual(3, ((CountingDecorator)decorators[1]).Count); Assert.AreEqual(3, ((CountingDecorator)decorators[2]).Count); Assert.AreEqual(3, ((CountingDecorator)decorators[3]).Count); }
public void SubresourceGenerationTest() { var subresource = new MockResource(); subresource.Name = "Sub"; var resource = new MockResource(); resource.Name = "Test"; resource.Resources .Add(new KeyValuePair<string, IResource>("Sub", subresource)); // Run the generator. var counter = new CountingDecorator(); var generator = ConstructGenerator(resource, counter, new SubresourceClassDecorator()); CodeTypeDeclaration clss = generator.CreateClass(); Assert.IsNotNull(clss); Assert.AreEqual(2, counter.Count); // Confirm that a subclass has been added. var subtypes = from CodeTypeMember m in clss.Members where (m is CodeTypeDeclaration) select m; Assert.AreEqual(1, subtypes.Count()); Assert.AreEqual("SubResource", subtypes.First().Name); }
public void CreateClassWithMultipleDecorators() { var once = new CountingDecorator(); var threeTimes = new CountingDecorator(); var decorators = new List<ISchemaDecorator>(4) { once, threeTimes, threeTimes, threeTimes }; var schemaGen = new SchemaGenerator(decorators); MockSchema schema = new MockSchema { Id = "mockSchemaObject", Name = "mockSchemaObject", SchemaDetails = MockSchema.CreateSimpleSchema("mockSchemaObject") }; schemaGen.CreateClass( schema, new Dictionary<JsonSchema, SchemaImplementationDetails>(), Enumerable.Empty<string>()); Assert.AreEqual(1, ((CountingDecorator) decorators[0]).Count); Assert.AreEqual(3, ((CountingDecorator) decorators[1]).Count); Assert.AreEqual(3, ((CountingDecorator) decorators[2]).Count); Assert.AreEqual(3, ((CountingDecorator) decorators[3]).Count); }