From 6a847efed7bbc2e7becd2969d103d37ea2a27ebc Mon Sep 17 00:00:00 2001 From: Minero Aoki Date: Tue, 23 Sep 2008 11:42:44 +0000 Subject: [PATCH] * unit: new unit test suite. git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4045 1b9489fe-b721-0410-924e-b54b9192deb8 --- ChangeLog | 4 +++ unit/Makefile | 10 +++++++ unit/TestAll.java | 15 ++++++++++ unit/TestClonableIterator.java | 53 ++++++++++++++++++++++++++++++++++ unit/TestTextUtils.java | 17 +++++++++++ unit/run.sh | 19 ++++++++++++ 6 files changed, 118 insertions(+) create mode 100644 unit/Makefile create mode 100644 unit/TestAll.java create mode 100644 unit/TestClonableIterator.java create mode 100644 unit/TestTextUtils.java create mode 100755 unit/run.sh diff --git a/ChangeLog b/ChangeLog index 6cff0ce..3945b8b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Tue Sep 23 20:42:38 2008 Minero Aoki + + * unit: new unit test suite. + Mon Sep 22 01:45:49 2008 Minero Aoki * test/div.cb: test %esi usage. diff --git a/unit/Makefile b/unit/Makefile new file mode 100644 index 0000000..51b5fe9 --- /dev/null +++ b/unit/Makefile @@ -0,0 +1,10 @@ +JAVA = java +JAVAC = javac +CLASSPATH = .:../lib/cbc.jar:./junit-4.5.jar +CLASSES = $(patsubst %.java,%.class,$(wildcard Test*.java)) + +test: $(CLASSES) + $(JAVA) -classpath $(CLASSPATH) TestAll + +%.class: %.java + $(JAVAC) -classpath $(CLASSPATH) $< diff --git a/unit/TestAll.java b/unit/TestAll.java new file mode 100644 index 0000000..83e4625 --- /dev/null +++ b/unit/TestAll.java @@ -0,0 +1,15 @@ +import org.junit.*; +import org.junit.runner.*; +import org.junit.runners.*; +import org.junit.runners.Suite.*; + +@RunWith(Suite.class) +@SuiteClasses({ + TestClonableIterator.class, + TestTextUtils.class +}) +public class TestAll { + static public void main(String[] args) { + JUnitCore.main(TestAll.class.getName()); + } +} diff --git a/unit/TestClonableIterator.java b/unit/TestClonableIterator.java new file mode 100644 index 0000000..9739a20 --- /dev/null +++ b/unit/TestClonableIterator.java @@ -0,0 +1,53 @@ +import net.loveruby.cflat.utils.ClonableIterator; +import java.util.*; +import org.junit.*; +import org.junit.runner.*; +import static org.junit.Assert.*; + +public class TestClonableIterator { + static public void main(String[] args) { + JUnitCore.main(TestClonableIterator.class.getName()); + } + + @Test public void hasNext_0() { + List list = new ArrayList(); + ClonableIterator it = new ClonableIterator(list); + assertEquals("[].hasNext #1", false, it.hasNext()); + assertEquals("[].hasNext #2", false, it.hasNext()); + } + + @Test public void hasNext_1() { + List list = new ArrayList(); + list.add(1); + ClonableIterator it = new ClonableIterator(list); + assertEquals("[1].hasNext #1", true, it.hasNext()); + assertEquals("[1].hasNext #2", true, it.hasNext()); + it.next(); + assertEquals("[].hasNext #1", false, it.hasNext()); + assertEquals("[].hasNext #2", false, it.hasNext()); + } + + @Test public void hasNext_2() { + List list = new ArrayList(); + list.add(1); + list.add(2); + ClonableIterator it = new ClonableIterator(list); + assertEquals("[1,2].hasNext #1", true, it.hasNext()); + assertEquals("[1,2].hasNext #2", true, it.hasNext()); + it.next(); + assertEquals("[2].hasNext #1", true, it.hasNext()); + assertEquals("[2].hasNext #2", true, it.hasNext()); + it.next(); + assertEquals("[].hasNext #1", false, it.hasNext()); + assertEquals("[].hasNext #2", false, it.hasNext()); + } + + @Test public void next() { + List list = new ArrayList(); + list.add(1); + list.add(2); + ClonableIterator it = new ClonableIterator(list); + assertEquals("[1,2].next", 1, it.next()); + assertEquals("[2].next", 2, it.next()); + } +} diff --git a/unit/TestTextUtils.java b/unit/TestTextUtils.java new file mode 100644 index 0000000..1c3c97e --- /dev/null +++ b/unit/TestTextUtils.java @@ -0,0 +1,17 @@ +import org.junit.*; +import org.junit.runner.*; +import static org.junit.Assert.*; +import static net.loveruby.cflat.utils.TextUtils.*; + +public class TestTextUtils { + static public void main(String[] args) { + JUnitCore.main(TestTextUtils.class.getName()); + } + + @Test public void test_dumpString() { + assertEquals("dumpString #1", "\"\"", dumpString("")); + } + + @Test public void test_isPrintable() { + } +} diff --git a/unit/run.sh b/unit/run.sh new file mode 100755 index 0000000..94f0cc4 --- /dev/null +++ b/unit/run.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +main() { + if [ $# -eq 0 ] + then + run_class TestAll + else + for t in "$@" + do + run_class $t + done + fi +} + +run_java() { + java -classpath .:../lib/cbc.jar:./junit-4.5.jar "$@" +} + +main "$@"