001/*
002 * $Id$
003 */
004
005package edu.jas.kern;
006
007
008import java.io.StringReader;
009
010import junit.framework.Test;
011import junit.framework.TestCase;
012import junit.framework.TestSuite;
013
014
015
016/**
017 * KernUtil tests with JUnit.
018 * @author Heinz Kredel
019 */
020public class KernUtilTest extends TestCase {
021
022
023    /**
024     * main.
025     */
026    public static void main(String[] args) {
027        junit.textui.TestRunner.run(suite());
028    }
029
030
031    /**
032     * Constructs a <CODE>KernUtilTest</CODE> object.
033     * @param name String.
034     */
035    public KernUtilTest(String name) {
036        super(name);
037    }
038
039
040    /*
041     */
042    public static Test suite() {
043        TestSuite suite = new TestSuite(KernUtilTest.class);
044        return suite;
045    }
046
047
048    @Override
049    protected void setUp() {
050    }
051
052
053    @Override
054    protected void tearDown() {
055    }
056
057
058    /**
059     * Test StringUtil.
060     */
061    public void testStringUtil() {
062        StringReader sr = new StringReader(" ein text - noch ein / text { wort } [1, 2, 3] [[1, 4], [2], [3, 5]]");
063        String s = StringUtil.nextString(sr);
064        //System.out.println(":" + s + ":");
065        assertEquals("s==ein", s, "ein");
066
067        s = StringUtil.nextString(sr);
068        //System.out.println(":" + s + ":");
069        assertEquals("s==text", s, "text");
070
071        s = StringUtil.nextString(sr,'/');
072        //System.out.println(":" + s + ":");
073        assertEquals("s== - noch ein ", s, "- noch ein");
074
075        try {
076            s = StringUtil.nextPairedString(sr,'#','#');
077            fail("exception not thrown");
078        } catch (IllegalArgumentException e) {
079            // pass
080        }
081
082        s = StringUtil.nextPairedString(sr,'{','}');
083        //System.out.println(":" + s + ":");
084        assertEquals("s==wort", s, "wort");
085
086        s = StringUtil.nextPairedString(sr,'[',']');
087        //System.out.println(":" + s + ":");
088        assertEquals("s==1, 2, 3", s, "1, 2, 3");
089
090        s = StringUtil.nextPairedString(sr,'[',']');
091        //System.out.println(":" + s + ":");
092        assertEquals("s==[1, 4], [2], [3, 5]", s, "[1, 4], [2], [3, 5]");
093    }
094
095
096    /**
097     * Test stack trace.
098     */
099    public void testStackTrace() {
100        String s = StringUtil.selectStackTrace(".*KernUtilTest.*");
101        //System.out.println(":" + s + ":");
102        assertTrue("s contains KernUtilTest", s.indexOf("KernUtilTest") >= 0);
103    }
104
105
106    /**
107     * Test default scripting flags.
108     */
109    public void testScripting() {
110        Scripting.Lang s = Scripting.getLang();
111        //System.out.println(":" + s + ":");
112        assertEquals("s == Python", s, Scripting.Lang.Python);
113
114        Scripting.CAS c = Scripting.getCAS();
115        //System.out.println(":" + c + ":");
116        assertEquals("c == JAS", c, Scripting.CAS.JAS);
117
118        int p = Scripting.getPrecision();
119        //System.out.println(":" + p + ":");
120        assertTrue("p < 0", p < 0);
121    }
122
123}