Ejemplo n.º 1
0
        public void TestRefactGamerInterface()
        {
            var classDefinition = new TypeScriptClassDefinition
            {
                Name   = "Person",
                Fields =
                {
                    new FieldDefinition(AccessModifier.Public, "number", "id"),
                    new FieldDefinition(AccessModifier.Public, "string", "firstName"),
                    new FieldDefinition(AccessModifier.Public, "string", "middleName"),
                    new FieldDefinition(AccessModifier.Public, "string", "lastName"),
                    new FieldDefinition(AccessModifier.Public, "string", "gender"),
                    new FieldDefinition(AccessModifier.Public, "Date",   "birthDate")
                }
            };

            var interfaceDefinition = classDefinition.RefactInterface();

            TypeScriptClassBuilder.CreateFiles("C:\\Temp\\CatFactory.TypeScript", string.Empty, true, classDefinition);

            TypeScriptInterfaceBuilder.CreateFiles("C:\\Temp\\CatFactory.TypeScript", string.Empty, true, interfaceDefinition);

            Assert.True(classDefinition.Properties.Count == interfaceDefinition.Properties.Count);
            Assert.True(interfaceDefinition.Methods.Count == 0);
        }
        public void TestRefactInterface()
        {
            var classDefinition = new TypeScriptClassDefinition
            {
                Name       = "Gamer",
                Implements =
                {
                    "IGamer"
                }
            };

            classDefinition.AddImport("IGamer", "./IGamer");

            classDefinition.Fields.Add(new FieldDefinition("string", "m_firstName"));
            classDefinition.Fields.Add(new FieldDefinition("string", "m_middleName"));
            classDefinition.Fields.Add(new FieldDefinition("string", "m_lastName"));

            classDefinition.Properties.Add(new PropertyDefinition("string", "firstName"));
            classDefinition.Properties.Add(new PropertyDefinition("string", "middleName"));
            classDefinition.Properties.Add(new PropertyDefinition("string", "lastName"));

            TypeScriptClassBuilder.CreateFiles("C:\\Temp\\CatFactory.TypeScript", string.Empty, true, classDefinition);

            var interfaceDefinition = classDefinition.RefactInterface();

            TypeScriptInterfaceBuilder.CreateFiles("C:\\Temp\\CatFactory.TypeScript", string.Empty, true, interfaceDefinition);
        }
        public void TestTypeScriptRepositoryGeneration()
        {
            var definition = new TypeScriptInterfaceDefinition
            {
                Name = "ISalesRepository"
            };

            definition.Properties.Add(new PropertyDefinition("DbContext", "dbContext"));
            definition.Methods.Add(new MethodDefinition("number", "saveChanges"));
            definition.Methods.Add(new MethodDefinition("number", "saveChangesAsync"));

            TypeScriptInterfaceBuilder.CreateFiles("C:\\Temp\\CatFactory.TypeScript", string.Empty, true, definition);
        }
        public void TestTypeScriptInterfaceWithPropertiesGeneration()
        {
            var definition = new TypeScriptInterfaceDefinition
            {
                Name = "IPerson"
            };

            definition.Properties.Add(new PropertyDefinition("string", "firstName"));
            definition.Properties.Add(new PropertyDefinition("string", "middleName"));
            definition.Properties.Add(new PropertyDefinition("string", "lastName"));
            definition.Properties.Add(new PropertyDefinition("string", "gender"));
            definition.Properties.Add(new PropertyDefinition("Date", "birthDate"));

            TypeScriptInterfaceBuilder.CreateFiles("C:\\Temp\\CatFactory.TypeScript", string.Empty, true, definition);
        }
Ejemplo n.º 5
0
        public void ScaffoldWarehouseServiceInterface()
        {
            var definition = new TypeScriptInterfaceDefinition
            {
                Name    = "IWarehouseService",
                Methods =
                {
                    new MethodDefinition("Response", "getProducts", new ParameterDefinition("string",  "productName")),
                    new MethodDefinition("Response", "getProduct",  new ParameterDefinition("Product", "entity"))
                }
            };

            definition.AddImport("Response", "./Response");
            definition.AddImport("Product", "./Product");

            foreach (var filePath in TypeScriptInterfaceBuilder.CreateFiles("C:\\Temp\\CatFactory.TypeScript", string.Empty, true, definition))
            {
                Process.Start(ScaffoldingPaths.TscPath, string.Format("{0} --outDir {1}", Path.Combine(ScaffoldingPaths.TsFilesPath, filePath), ScaffoldingPaths.OutPath));
            }
        }