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}