All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.objectfabric.TestsGenerator Maven / Gradle / Ivy

The newest version!
/**
 * This file is part of ObjectFabric (http://objectfabric.org).
 *
 * ObjectFabric is licensed under the Apache License, Version 2.0, the terms
 * of which may be found at http://www.apache.org/licenses/LICENSE-2.0.html.
 * 
 * Copyright ObjectFabric Inc.
 * 
 * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
 * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
 */

package org.objectfabric;

public class TestsGenerator {

    public static void main(String[] args) throws Exception {
        Generator generator = new Generator();
        generator.copyright(PlatformGenerator.readCopyright());

        // Simple

        ObjectModelDef model = new ObjectModelDef("SimpleObjectModel");
        PackageDef root = new PackageDef("org.objectfabric.generated");
        model.Packages.add(root);

        ClassDef simple = new ClassDef("SimpleClass");
        simple.Fields.add(new FieldDef(String.class, "text"));
        simple.Fields.add(new FieldDef(int.class, "int0"));
        simple.Fields.add(new FieldDef(int.class, "int1"));
        simple.Fields.add(new FieldDef(int.class, "int2"));
        simple.Fields.add(new FieldDef(int.class, "int3"));
        simple.Fields.add(new FieldDef(TMap.class, "map"));
        root.Classes.add(simple);

        generator.setObjectModel(model);
        generator.run("../jvm/src/test/java");

        // Limits

        model = new ObjectModelDef("LimitsObjectModel");
        root = new PackageDef("org.objectfabric.generated");
        model.Packages.add(root);

        ClassDef limit32 = new ClassDef("Limit32");

        for (int i = 0; i < 25; i++)
            limit32.Fields.add(new FieldDef(int.class, "int" + i));

        root.Classes.add(limit32);

        ClassDef limit32_max = new ClassDef("Limit32_max");

        for (int i = 0; i < 32; i++)
            limit32_max.Fields.add(new FieldDef(int.class, "int" + i));

        root.Classes.add(limit32_max);

        //

        ClassDef limitN_min = new ClassDef("LimitN_min");

        for (int i = 0; i < 257; i++)
            limitN_min.Fields.add(new FieldDef(int.class, "int" + i));

        root.Classes.add(limitN_min);

        ClassDef limitN = new ClassDef("LimitN");

        for (int i = 0; i < 300; i++)
            limitN.Fields.add(new FieldDef(int.class, "int" + i));

        root.Classes.add(limitN);

        //

        generator.setObjectModel(model);
        generator.run("../jvm/src/test/java");

        // Types

        model = new ObjectModelDef("TypesObjectModel");
        root = new PackageDef("org.objectfabric.generated");
        model.Packages.add(root);

        ClassDef types = new ClassDef("TypesClass");

        for (int i = 0; i < Immutable.COUNT; i++)
            types.Fields.add(new FieldDef(Immutable.ALL.get(i), "field" + i));

        TypeDef type = new TypeDef(TArrayTObject.class);
        type.addGenericsParameter(types);
        types.Fields.add(new FieldDef(type, "array"));
        root.Classes.add(types);

        generator.setObjectModel(model);
        generator.run("../jvm/src/test/java");

        // Methods

        // model = new ObjectModelDef("MethodsObjectModel");
        // root = new PackageDef("org.objectfabric.generated");
        // model.Packages.add(root);
        //
        // ClassDef ref = new ClassDef("MethodRef");
        // ref.Fields.add(new FieldDef(String.class, "text"));
        // root.Classes.add(ref);
        //
        // ClassDef methods = new ClassDef("MethodsClass");
        // methods.Fields.add(new FieldDef(String.class, "text"));
        // methods.Fields.add(new FieldDef(int.class, "int"));
        // methods.Fields.add(new FieldDef(int.class, "int2"));
        // methods.Fields.add(new FieldDef(ref, "simple"));
        // root.Classes.add(methods);
        //
        // MethodDef method = new MethodDef("method", null);
        // method.ReturnValue = new ReturnValueDef(String.class);
        // method.Arguments.add(new ArgumentDef(String.class, "sql"));
        // method.Arguments.add(new ArgumentDef(methods, "eg"));
        // methods.Methods.add(method);
        //
        // MethodDef progress = new MethodDef("progress", null);
        // progress.Arguments.add(new ArgumentDef(int.class, "state"));
        // methods.Methods.add(progress);
        //
        // generator.setObjectModel(model);
        // generator.run("../jvm/src/test/java");
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy