Package org.telluriumsource.test

Source Code of org.telluriumsource.test.UdlParser_UT

package org.telluriumsource.test;

import org.junit.Ignore;
import org.junit.Test;
import org.antlr.runtime.ANTLRStringStream;
import org.antlr.runtime.CharStream;
import org.antlr.runtime.CommonTokenStream;
import org.antlr.runtime.RecognitionException;
import org.antlr.runtime.TokenStream;
import org.telluriumsource.udl.*;
import org.telluriumsource.udl.code.IndexType;

import static org.junit.Assert.*;

/**
* @author Jian Fang (John.Jian.Fang@gmail.com)
*
*         Date: Feb 18, 2010
*/
public class UdlParser_UT {

    @Test
    public void testBaseUid(){
     CharStream stream =
      new ANTLRStringStream("Tellurium");
    UdlLexer lexer = new UdlLexer(stream);
    TokenStream tokenStream = new CommonTokenStream(lexer);
    UdlParser parser = new UdlParser(tokenStream);
        try{
        MetaData data = parser.uid();
            assertNotNull(data);
            assertEquals("Tellurium", data.getId());
        }catch(RecognitionException e){
            fail(e.getMessage());
        }       
    }

    @Test
    public void testListUid(){
      CharStream stream =
      new ANTLRStringStream("{ odd } as T");
    UdlLexer lexer = new UdlLexer(stream);
    TokenStream tokenStream = new CommonTokenStream(lexer);
    UdlParser parser = new UdlParser(tokenStream);
        try{
        MetaData data = parser.uid();
            assertNotNull(data);
            assertEquals("T", data.getId());
            assertTrue(data instanceof ListMetaData);
            ListMetaData lm = (ListMetaData)data;
            assertEquals("odd", lm.getIndex().getValue());
            assertEquals(IndexType.VAL, lm.getIndex().getType());
        }catch(RecognitionException e){
            fail(e.getMessage());
        }
    }

    @Test
    public void testListUidNoId(){
      CharStream stream =
      new ANTLRStringStream("{10}");
    UdlLexer lexer = new UdlLexer(stream);
    TokenStream tokenStream = new CommonTokenStream(lexer);
    UdlParser parser = new UdlParser(tokenStream);
        try{
        MetaData data = parser.uid();
            assertNotNull(data);
            assertEquals("_10", data.getId());
            assertTrue(data instanceof ListMetaData);
            ListMetaData lm = (ListMetaData)data;
            assertEquals("10", lm.getIndex().getValue());
            assertEquals(IndexType.VAL, lm.getIndex().getType());
        }catch(RecognitionException e){
            fail(e.getMessage());
        }
    }

    @Ignore
    @Test
    public void testStarListUid(){
      CharStream stream =
      new ANTLRStringStream("{*}");
    UdlLexer lexer = new UdlLexer(stream);
    TokenStream tokenStream = new CommonTokenStream(lexer);
    UdlParser parser = new UdlParser(tokenStream);
        try{
        MetaData data = parser.uid();
            assertNotNull(data);
            assertEquals("_all", data.getId());
            assertTrue(data instanceof ListMetaData);
            ListMetaData lm = (ListMetaData)data;
            assertEquals("all", lm.getIndex().getValue());
            assertEquals(IndexType.VAL, lm.getIndex().getType());
        }catch(RecognitionException e){
            fail(e.getMessage());
        }
    }

     @Test
    public void testTableHeaderUidNoId(){
     CharStream stream =
      new ANTLRStringStream("{header: 3}");
    UdlLexer lexer = new UdlLexer(stream);
    TokenStream tokenStream = new CommonTokenStream(lexer);
    UdlParser parser = new UdlParser(tokenStream);
        try{
        MetaData data = parser.uid();
            assertNotNull(data);
            assertTrue(data instanceof TableHeaderMetaData);
            TableHeaderMetaData th = (TableHeaderMetaData)data;
            assertEquals("_3", th.getId());
            assertEquals("3", th.getIndex().getValue());
            assertEquals(IndexType.VAL, th.getIndex().getType());
        }catch(RecognitionException e){
            fail(e.getMessage());
        }
    }

    @Test
    public void testTableHeaderUid(){
     CharStream stream =
      new ANTLRStringStream("{header: 3} as A");
    UdlLexer lexer = new UdlLexer(stream);
    TokenStream tokenStream = new CommonTokenStream(lexer);
    UdlParser parser = new UdlParser(tokenStream);
        try{
        MetaData data = parser.uid();
            assertNotNull(data);
            assertTrue(data instanceof TableHeaderMetaData);
            TableHeaderMetaData th = (TableHeaderMetaData)data;
            assertEquals("A", th.getId());
            assertEquals("3", th.getIndex().getValue());
            assertEquals(IndexType.VAL, th.getIndex().getType());
        }catch(RecognitionException e){
            fail(e.getMessage());
        }
    }

    @Test
    public void testTableFooterUidNoId(){
     CharStream stream =
      new ANTLRStringStream("{footer: all}");
    UdlLexer lexer = new UdlLexer(stream);
    TokenStream tokenStream = new CommonTokenStream(lexer);
    UdlParser parser = new UdlParser(tokenStream);
        try{
        MetaData data = parser.uid();
            assertNotNull(data);
            assertTrue(data instanceof TableFooterMetaData);
            TableFooterMetaData th = (TableFooterMetaData)data;
            assertEquals("_all", th.getId());
            assertEquals("all", th.getIndex().getValue());
            assertEquals(IndexType.VAL, th.getIndex().getType());
        }catch(RecognitionException e){
            fail(e.getMessage());
        }
    }

    @Test
    public void testTableFooterUid(){
     CharStream stream =
      new ANTLRStringStream("{footer: all} as B");
    UdlLexer lexer = new UdlLexer(stream);
    TokenStream tokenStream = new CommonTokenStream(lexer);
    UdlParser parser = new UdlParser(tokenStream);
        try{
        MetaData data = parser.uid();
            assertNotNull(data);
            assertTrue(data instanceof TableFooterMetaData);
            TableFooterMetaData th = (TableFooterMetaData)data;
            assertEquals("B", th.getId());
            assertEquals("all", th.getIndex().getValue());
            assertEquals(IndexType.VAL, th.getIndex().getType());
        }catch(RecognitionException e){
            fail(e.getMessage());
        }
    }

    @Test
    public void testTableBodyValUidNoId(){
    CharStream stream =
      new ANTLRStringStream("{tbody : 1, row : 2, column : 3}");
    UdlLexer lexer = new UdlLexer(stream);
    TokenStream tokenStream = new CommonTokenStream(lexer);
    UdlParser parser = new UdlParser(tokenStream);
        try{
        MetaData data = parser.uid();
            assertNotNull(data);
            assertEquals("_1_2_3", data.getId());
            assertTrue(data instanceof TableBodyMetaData);
            TableBodyMetaData tb = (TableBodyMetaData)data;
            assertEquals("1", tb.getTbody().getValue());
            assertEquals(IndexType.VAL, tb.getTbody().getType());
            assertEquals("2", tb.getRow().getValue());
            assertEquals(IndexType.VAL, tb.getRow().getType());
            assertEquals("3", tb.getColumn().getValue());
            assertEquals(IndexType.VAL, tb.getColumn().getType());
        }catch(RecognitionException e){
            fail(e.getMessage());
        }
    }

    @Test
    public void testTableBodyValUid(){
    CharStream stream =
      new ANTLRStringStream("{tbody : 1, row : 2, column : 3} as Search");
    UdlLexer lexer = new UdlLexer(stream);
    TokenStream tokenStream = new CommonTokenStream(lexer);
    UdlParser parser = new UdlParser(tokenStream);
        try{
        MetaData data = parser.uid();
            assertNotNull(data);
            assertEquals("Search", data.getId());
            assertTrue(data instanceof TableBodyMetaData);
            TableBodyMetaData tb = (TableBodyMetaData)data;
            assertEquals("1", tb.getTbody().getValue());
            assertEquals(IndexType.VAL, tb.getTbody().getType());
            assertEquals("2", tb.getRow().getValue());
            assertEquals(IndexType.VAL, tb.getRow().getType());
            assertEquals("3", tb.getColumn().getValue());
            assertEquals(IndexType.VAL, tb.getColumn().getType());
        }catch(RecognitionException e){
            fail(e.getMessage());
        }
    }

    @Test
    public void testTableBodyRefUidNoId(){
    CharStream stream =
      new ANTLRStringStream("{tbody : 1, row -> good, column -> bad}");
    UdlLexer lexer = new UdlLexer(stream);
    TokenStream tokenStream = new CommonTokenStream(lexer);
    UdlParser parser = new UdlParser(tokenStream);
        try{
        MetaData data = parser.uid();
            assertNotNull(data);
            assertEquals("_1_good_bad", data.getId());
            assertTrue(data instanceof TableBodyMetaData);
            TableBodyMetaData tbmd = (TableBodyMetaData)data;
            assertEquals("1", tbmd.getTbody().getValue());
            assertEquals(IndexType.VAL, tbmd.getTbody().getType());
            assertEquals("good", tbmd.getRow().getValue());
            assertEquals(IndexType.REF, tbmd.getRow().getType());
            assertEquals("bad", tbmd.getColumn().getValue());
            assertEquals(IndexType.REF, tbmd.getColumn().getType());
        }catch(RecognitionException e){
            fail(e.getMessage());
        }
    }

    @Test
    public void testTableBodyRefUid(){
    CharStream stream =
      new ANTLRStringStream("{tbody : 1, row -> good, column -> bad} as Search");
    UdlLexer lexer = new UdlLexer(stream);
    TokenStream tokenStream = new CommonTokenStream(lexer);
    UdlParser parser = new UdlParser(tokenStream);
        try{
        MetaData data = parser.uid();
            assertNotNull(data);
            assertEquals("Search", data.getId());
            assertTrue(data instanceof TableBodyMetaData);
            TableBodyMetaData tbmd = (TableBodyMetaData)data;
            assertEquals("1", tbmd.getTbody().getValue());
            assertEquals(IndexType.VAL, tbmd.getTbody().getType());
            assertEquals("good", tbmd.getRow().getValue());
            assertEquals(IndexType.REF, tbmd.getRow().getType());
            assertEquals("bad", tbmd.getColumn().getValue());
            assertEquals(IndexType.REF, tbmd.getColumn().getType());
        }catch(RecognitionException e){
            fail(e.getMessage());
        }
    }

    @Test
    public void testTableBodyMixedUidNoId() {
        try {
            MetaData data = UidParser.parse("{row:3, column-> bad}");
            assertNotNull(data);
            assertEquals("_1_3_bad", data.getId());
            assertTrue(data instanceof TableBodyMetaData);
            TableBodyMetaData tbmd = (TableBodyMetaData) data;
            assertEquals("1", tbmd.getTbody().getValue());
            assertEquals(IndexType.VAL, tbmd.getTbody().getType());
            assertEquals("3", tbmd.getRow().getValue());
            assertEquals(IndexType.VAL, tbmd.getRow().getType());
            assertEquals("bad", tbmd.getColumn().getValue());
            assertEquals(IndexType.REF, tbmd.getColumn().getType());
        } catch (RecognitionException e) {
            e.printStackTrace();
            fail(e.getMessage());
        }
    }

    @Test
    public void testTableBodyMixedUid() {
        try {
            MetaData data = UidParser.parse("{row:3, column -> bad} as Search");
            assertNotNull(data);
            assertEquals("Search", data.getId());
            assertTrue(data instanceof TableBodyMetaData);
            TableBodyMetaData tbmd = (TableBodyMetaData) data;
            assertEquals("1", tbmd.getTbody().getValue());
            assertEquals(IndexType.VAL, tbmd.getTbody().getType());
            assertEquals("3", tbmd.getRow().getValue());
            assertEquals(IndexType.VAL, tbmd.getRow().getType());
            assertEquals("bad", tbmd.getColumn().getValue());
            assertEquals(IndexType.REF, tbmd.getColumn().getType());
        } catch (RecognitionException e) {
            e.printStackTrace();
            fail(e.getMessage());
        }
    }
}
TOP

Related Classes of org.telluriumsource.test.UdlParser_UT

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.