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 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);
        }
Exemplo n.º 4
0
        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);
 }