t-suw****@users*****
t-suw****@users*****
2007年 9月 9日 (日) 11:59:49 JST
Index: AquaSKK/src/test/Makefile diff -u AquaSKK/src/test/Makefile:1.1.2.2 AquaSKK/src/test/Makefile:1.1.2.3 --- AquaSKK/src/test/Makefile:1.1.2.2 Sat Sep 8 22:35:19 2007 +++ AquaSKK/src/test/Makefile Sun Sep 9 11:59:49 2007 @@ -5,7 +5,7 @@ VPATH = $(shell find .. -type d -a ! -name CVS -a ! -name test -a ! -name ..) ../.. CXXFLAGS= -g $(foreach dir,$(VPATH),-I$(dir)) -TARGET = SKKKeymapEntry_TEST SKKKeymap_TEST SKKRomanKanaConverter_TEST +TARGET = SKKKeymapEntry_TEST SKKKeymap_TEST SKKRuleTreeNode_TEST SKKRomanKanaConverter_TEST define BUILD_template $(1): $(1).o @@ -33,4 +33,6 @@ SKKKeymapEntry_TEST.o: SKKKeymapEntry_TEST.cpp SKKKeymapEntry.cpp SKKKeymapEntry.h SKKKeymap_TEST.o: SKKKeymap_TEST.cpp SKKKeymapEntry.cpp SKKKeymapEntry.h SKKKeymap.cpp SKKKeymap.h -SKKRomanKanaConverter_TEST.o: SKKRomanKanaConverter_TEST.cpp SKKRomanKanaConverter.h SKKRomanKanaConverter.cpp +SKKRuleTreeNode_TEST.o: SKKRuleTreeNode_TEST.cpp SKKRuleTreeNode.h SKKRuleTreeNode.cpp +SKKRomanKanaConverter_TEST.o: SKKRomanKanaConverter_TEST.cpp SKKRomanKanaConverter.h SKKRomanKanaConverter.cpp \ + SKKRuleTreeNode.h SKKRuleTreeNode.cpp Index: AquaSKK/src/test/SKKRomanKanaConverter_TEST.cpp diff -u AquaSKK/src/test/SKKRomanKanaConverter_TEST.cpp:1.1.2.1 AquaSKK/src/test/SKKRomanKanaConverter_TEST.cpp:1.1.2.2 --- AquaSKK/src/test/SKKRomanKanaConverter_TEST.cpp:1.1.2.1 Sat Sep 8 22:35:19 2007 +++ AquaSKK/src/test/SKKRomanKanaConverter_TEST.cpp Sun Sep 9 11:59:49 2007 @@ -1,4 +1,5 @@ #include "SKKRomanKanaConverter.cpp" +#include "SKKRuleTreeNode.cpp" #include "jconv.cpp" int main() { Index: AquaSKK/src/test/SKKRuleTreeNode_TEST.cpp diff -u /dev/null AquaSKK/src/test/SKKRuleTreeNode_TEST.cpp:1.1.2.1 --- /dev/null Sun Sep 9 11:59:49 2007 +++ AquaSKK/src/test/SKKRuleTreeNode_TEST.cpp Sun Sep 9 11:59:49 2007 @@ -0,0 +1,44 @@ +#include "SKKRuleTreeNode.cpp" + +int main() { + SKKRuleTreeNode root; + const SKKRuleTreeNode* node; + int state; + + node = root.Traverse("a", state); + assert(state == -1 && !node); + + root.Add("a", SKKRuleTreeNode("ã", "ã¢", "ï½±", "")); + root.Add("kya", SKKRuleTreeNode("ãã", "ãã£", "キャ", "")); + root.Add("ka", SKKRuleTreeNode("ã", "ã«", "カ", "")); + root.Add("n", SKKRuleTreeNode("ã", "ã³", "ï¾", "")); + root.Add("nn", SKKRuleTreeNode("ã", "ã³", "ï¾", "")); + root.Add("xx", SKKRuleTreeNode("ã£", "ã", "ッ", "x")); + + node = root.Traverse("m", state); + assert(state == -1 && !node); + + node = root.Traverse("a", state); + assert(state == 1 && node && node->KanaString(SKK::Hirakana) == "ã"); + + node = root.Traverse("kya", state); + assert(state == 3 && node && node->KanaString(SKK::Katakana) == "ãã£"); + + node = root.Traverse("ki", state); + assert(state == 1 && !node); + + node = root.Traverse("ky", state); + assert(state == 0 && !node); + + node = root.Traverse("n", state); + assert(state == 0 && !node); + + node = root.Traverse("ng", state); + assert(state == 1 && node && node->KanaString(SKK::Jisx0201Kana) == "ï¾"); + + node = root.Traverse("nn", state); + assert(state == 2 && node && node->KanaString(SKK::Jisx0201Kana) == "ï¾"); + + node = root.Traverse("xx", state); + assert(state == 2 && node && node->NextState() == "x"); +}