
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