Package org.drools.brms.modeldriven

Source Code of org.drools.brms.modeldriven.DataEnumLoaderTest

package org.drools.brms.modeldriven;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.StringTokenizer;

import junit.framework.TestCase;

import org.drools.brms.server.util.DataEnumLoader;
import org.mvel.MVEL;

public class DataEnumLoaderTest extends TestCase {

  public void testEnumGeneration() throws Exception {



    Object result = MVEL.eval("[2, 3, 4, ]", new HashMap());
    assertTrue(result instanceof List);
    List l = (List) result;
    assertEquals(3, l.size());

    result = MVEL.eval("['Person.age' : [2, 3]\n 'Person.name' : ['qqq', \n'ccc']]", new HashMap());




    DataEnumLoader loader = new DataEnumLoader(readLines().toString());

        assertFalse(loader.getErrors().toString(), loader.hasErrors());

    Map enumeration = (Map) loader.getData();
    assertEquals(loader.getErrors().toString(), 0, loader.getErrors().size());
    assertEquals(3, enumeration.size());

    String[] list = (String[]) enumeration.get("Person.age");
    assertEquals(4, list.length);
    assertEquals("1", list[0]);
    assertEquals("2", list[1]);

    list = (String[]) enumeration.get("Person.rating");
    assertEquals(2, list.length);
    assertEquals("High", list[0]);
    assertEquals("Low", list[1]);




    loader = new DataEnumLoader("goober poo error");
    assertEquals(0, loader.getData().size());
    assertFalse(loader.getErrors().size() == 0);
    assertTrue(loader.hasErrors());

  }



    public void testNoOp() {
        DataEnumLoader loader = new DataEnumLoader(" ");
        assertFalse(loader.hasErrors());
        assertEquals(0, loader.getData().size());

        loader = new DataEnumLoader("");
        assertFalse(loader.hasErrors());
        assertEquals(0, loader.getData().size());

    }


    public void testNewLines() {
        String s = "yeah yeah, \nyeah \nyeah";
        assertEquals("yeah yeah,\nyeah,\nyeah", DataEnumLoader.addCommasForNewLines( s ));
    }

  private StringBuffer readLines() throws IOException {
    BufferedReader r = new BufferedReader(new InputStreamReader(this.getClass().getResourceAsStream("Some.enumeration")));
    String line = "";
    StringBuffer buf = new StringBuffer();
    while ((line = r.readLine()) != null) {
      buf.append(line); buf.append('\n');
    }
    return buf;
  }


}
TOP

Related Classes of org.drools.brms.modeldriven.DataEnumLoaderTest

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.