Changeset 2286


Ignore:
Timestamp:
Jan 25, 2007, 5:02:37 PM (14 years ago)
Author:
roman
Message:

Format Checker

Location:
devel-tools/trunk/eclipse/org.refal.plus.comp.test/src/org/refal/plus/comp/test
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • devel-tools/trunk/eclipse/org.refal.plus.comp.test/src/org/refal/plus/comp/test/FormatCheckerTest.java

    r2280 r2286  
    3838        private static void expectOK(String input) {
    3939                MsgAccumulator msgAcc = parseAndReturnMessages(input);
    40                 assertTrue(msgAcc.messages.isEmpty());
     40                assertTrue("Formats are OK", msgAcc.messages.isEmpty());
    4141        }
    4242
     
    5656                expectMessage("$func F =; F ,A::tX,tX::A,;", MsgCode.FormatMismatch);
    5757                expectMessage("$func F =; F ,()::A,;", MsgCode.FormatMismatch);
    58                
     58
    5959                expectOK("$func F =; F ,()::(),;");
    6060                expectMessage("$func F =; F ,A::(),;", MsgCode.FormatMismatch);
    6161                expectMessage("$func F =; F ,A::sX,sX::(),;", MsgCode.FormatMismatch);
    6262                expectMessage("$func F =; F ,A::tX,tX::(),;", MsgCode.FormatMismatch);
    63                
     63
    6464                expectOK("$func F =; F ,A::s,;");
    6565                expectOK("$func F =; F ,A::sX,sX::s,;");
     
    6767                expectMessage("$func F =; F ,A::tX,tX::s,;", MsgCode.FormatMismatch);
    6868                expectMessage("$func F =; F ,()::s,;", MsgCode.FormatMismatch);
    69                
     69
    7070                expectMessage("$func F t = s;F tX = tX;", MsgCode.FormatMismatch);
    7171                expectMessage("$func F s = t;F tX = tX;", MsgCode.FormatMismatch);
    72                
     72
    7373                expectOK("$func F s = t t; $func G t t =; F sX = sX sX; G s1 s2, <G <F A>>;");
    7474        }
     75
     76        @Test
     77        public void expansion() {
     78                expectOK("$const A = X; $const B = &A &A; $func F =; F,&B::X X,;");
     79                expectOK("$const A = X Y (Z); $func F =; F,&A (&A)::X Y (Z)(X Y (Z)),;");
     80                // "$const A = X Y (Z);$const B = X Y (Z) (X Y (Z));");
     81
     82                // expectOK("$const A = X;$func F &A = &A;F{&A,&A;};",
     83                // "$const A = X;$func F X = X;F{X,X;};");
     84
     85                // expectOK("$const A = X;$func F e = e;F{&A, &A::&A,&A;};",
     86                // "$const A = X;$func F e = e;F{X,X::X,X;};");
     87                // expectOK("$const A = X;$func F = ;F{,&A $iter &A :: &A,;};",
     88                // "$const A = X;$func F = ;F{,X $iter X::X,;};");
     89                // expectOK("$const A = X;$func F e = e;F{,&A : &A,&A;};",
     90                // "$const A = X;$func F e = e;F{,X:X,X;};");
     91                // expectOK("$const A = X;$func F e = e;F{,#&A,&A;};",
     92                // "$const A = X;$func F e = e;F{,#X,X;};");
     93                // expectOK("$const A = X;$func F e = e;F{,\\?\\! = $error &A;};",
     94                // "$const A = X;$func F e = e;F{,\\?\\! = $error X;};");
     95                // expectOK("$const A = X;$func F e = e;F{,$fail;};",
     96                // "$const A = X;$func F e = e;F{,$fail;};");
     97                // expectOK("$const A = X;$func F e = e;F{,$trap &A $with {&A, &A;};};",
     98                // "$const A = X;$func F e = e;F{,$trap X $with {X,X;};};");
     99                // expectOK("$const A = X;$func F e = e;F{,{&A;&A;};};",
     100                // "$const A = X;$func F e = e;F{,{X;X;};};");
     101                // expectOK("$const A = X;$func F e = e;F{,&A:{&A, &A;};};",
     102                // "$const A = X;$func F e = e;F{,X:{X,X;};};");
     103        }
     104
    75105}
  • devel-tools/trunk/eclipse/org.refal.plus.comp.test/src/org/refal/plus/comp/test/NameCheckerTest.java

    r2280 r2286  
    11package org.refal.plus.comp.test;
    22
    3 import static org.junit.Assert.assertEquals;
    43import static org.junit.Assert.assertTrue;
    54
     
    109import org.refal.plus.comp.NameChecker;
    1110import org.refal.plus.comp.ast.AstImplem;
    12 import org.refal.plus.comp.ast.ImageBuilder;
    1311
    1412public class NameCheckerTest {
     
    2018        @After
    2119        public void tearDown() throws Exception {
    22         }
    23 
    24         private static void implem(String input, String expected) {
    25                 MsgAccumulator msgAcc = new MsgAccumulator();
    26                 AstImplem astImplem = Util.parseImplemString(input, msgAcc);
    27                 assertTrue("Syntax is OK", msgAcc.messages.isEmpty());
    28                 NameChecker.check(astImplem, msgAcc);
    29                 assertTrue("Names are OK", msgAcc.messages.isEmpty());
    30                 ImageBuilder imageBuilder = new ImageBuilder();
    31                 astImplem.accept(imageBuilder);
    32                 String actual = imageBuilder.toString();
    33                 assertEquals("AST is OK", expected, actual);
    3420        }
    3521
     
    8167        }
    8268
    83         @Test
    84         public void expansion() {
    85                 implem("$const A = X; $const B = &A &A;",
    86                                 "$const A = X;$const B = X X;");
    87                 implem("$const A = X Y (Z); $const B = &A (&A);",
    88                                 "$const A = X Y (Z);$const B = X Y (Z) (X Y (Z));");
    89 
    90                 implem("$const A = X;$func F &A = &A;F{&A,&A;};",
    91                                 "$const A = X;$func F X = X;F{X,X;};");
    92 
    93                 implem("$const A = X;$func F e = e;F{&A, &A::&A,&A;};",
    94                                 "$const A = X;$func F e = e;F{X,X::X,X;};");
    95                 implem("$const A = X;$func F = ;F{,&A $iter &A :: &A,;};",
    96                                 "$const A = X;$func F  = ;F{,X $iter X::X,;};");
    97                 implem("$const A = X;$func F e = e;F{,&A : &A,&A;};",
    98                                 "$const A = X;$func F e = e;F{,X:X,X;};");
    99                 implem("$const A = X;$func F e = e;F{,#&A,&A;};",
    100                                 "$const A = X;$func F e = e;F{,#X,X;};");
    101                 implem("$const A = X;$func F e = e;F{,\\?\\! = $error &A;};",
    102                                 "$const A = X;$func F e = e;F{,\\?\\! = $error X;};");
    103                 implem("$const A = X;$func F e = e;F{,$fail;};",
    104                                 "$const A = X;$func F e = e;F{,$fail;};");
    105                 implem("$const A = X;$func F e = e;F{,$trap &A $with {&A, &A;};};",
    106                                 "$const A = X;$func F e = e;F{,$trap X $with {X,X;};};");
    107                 implem("$const A = X;$func F e = e;F{,{&A;&A;};};",
    108                                 "$const A = X;$func F e = e;F{,{X;X;};};");
    109                 implem("$const A = X;$func F e = e;F{,&A:{&A, &A;};};",
    110                                 "$const A = X;$func F e = e;F{,X:{X,X;};};");
    111         }
    11269}
Note: See TracChangeset for help on using the changeset viewer.