Beispiel #1
0
 @Test
 public void testTypeStrings() {
   assertEquals("any", BuiltinTypes.ANY_TYPE.getType().toString(false));
   assertEquals("class any {\n  any()}", BuiltinTypes.ANY_TYPE.getType().toString(true));
   assertEquals("void", BuiltinTypes.VOID_TYPE.getType().toString(false));
   assertEquals("class void {}", BuiltinTypes.VOID_TYPE.getType().toString(true));
   assertEquals("boolean", BuiltinTypes.BOOLEAN_TYPE.getType().toString(false));
   assertEquals(
       "class boolean extends any {\n  boolean and(boolean)\n"
           + "  boolean or(boolean)\n  boolean xor(boolean)\n  boolean not()\n"
           + "  boolean equals(boolean)}",
       BuiltinTypes.BOOLEAN_TYPE.getType().toString(true));
   assertEquals("int", BuiltinTypes.INTEGER_TYPE.getType().toString(false));
   assertEquals(
       "class int extends any {\n  int negate()\n  int add(int)\n"
           + "  int subtract(int)\n  int multiply(int)\n  int divide(int)\n"
           + "  int modulo(int)\n  boolean equals(int)\n  boolean notEqual(int)\n"
           + "  boolean greater(int)\n  boolean greaterOrEqual(int)\n"
           + "  boolean less(int)\n  boolean lessOrEqual(int)}",
       BuiltinTypes.INTEGER_TYPE.getType().toString(true));
   assertEquals("string", BuiltinTypes.STRING_TYPE.getType().toString(false));
   assertEquals(
       "class string extends any {\n  int length()\n"
           + "  string concat(string)\n  boolean equals(string)}",
       BuiltinTypes.STRING_TYPE.getType().toString(true));
   assertEquals("maybe", BuiltinTypes.MAYBE_TYPE.getType().getName());
   assertEquals("maybe<T>", BuiltinTypes.MAYBE_TYPE.getType().toString(false));
   assertEquals(
       "class maybe<T> extends any {\n  boolean isDefined()\n"
           + "  T value()\n  maybe(T)\n  maybe()}",
       BuiltinTypes.MAYBE_TYPE.getType().toString(true));
 }
Beispiel #2
0
 @Test
 public void testTypeProperties() {
   assertEquals("any", BuiltinTypes.ANY_TYPE.getName());
   assertNull(BuiltinTypes.ANY_TYPE.getSupertype());
   assertEquals("void", BuiltinTypes.VOID_TYPE.getName());
   if (BuiltinTypes.VOID_TYPE.getSupertype() != null) {
     System.err.println("It is " + BuiltinTypes.VOID_TYPE.getSupertype());
   }
   assertNull(BuiltinTypes.VOID_TYPE.getSupertype());
   assertEquals("int", BuiltinTypes.INTEGER_TYPE.getName());
   assertEquals(BuiltinTypes.INTEGER_TYPE.getSupertype(), BuiltinTypes.ANY_TYPE.getType());
   assertEquals("boolean", BuiltinTypes.BOOLEAN_TYPE.getName());
   assertEquals(BuiltinTypes.BOOLEAN_TYPE.getSupertype(), BuiltinTypes.ANY_TYPE.getType());
   assertEquals("string", BuiltinTypes.STRING_TYPE.getName());
   assertEquals(BuiltinTypes.STRING_TYPE.getSupertype(), BuiltinTypes.ANY_TYPE.getType());
 }