From 5f4de5095f1e9645780d65dcbf098c297c8f7fe1 Mon Sep 17 00:00:00 2001 From: Vladimir Weinstein Date: Wed, 31 Jul 2002 20:41:40 +0000 Subject: [PATCH] ICU-2039 increase code coverage for canonical iterator X-SVN-Rev: 9471 --- icu4c/source/test/intltest/canittst.cpp | 27 +++++++++++++++++++++++++ icu4c/source/test/intltest/canittst.h | 1 + 2 files changed, 28 insertions(+) diff --git a/icu4c/source/test/intltest/canittst.cpp b/icu4c/source/test/intltest/canittst.cpp index 5ba5775fea4..d9e92db6698 100644 --- a/icu4c/source/test/intltest/canittst.cpp +++ b/icu4c/source/test/intltest/canittst.cpp @@ -30,6 +30,7 @@ void CanonicalIteratorTest::runIndexedTest(int32_t index, UBool exec, switch (index) { CASE(0, TestBasic); CASE(1, TestExhaustive); + CASE(2, TestAPI); default: name = ""; break; } } @@ -264,3 +265,29 @@ UnicodeString CanonicalIteratorTest::collectionToString(Hashtable *col) { return result; } +void CanonicalIteratorTest::TestAPI() { + UErrorCode status = U_ZERO_ERROR; + // Test reset and getSource + UnicodeString start("ljubav"); + logln("Testing CanonicalIterator::getSource"); + logln("Instantiating canonical iterator with string "+start); + CanonicalIterator can(start, status); + UnicodeString source = can.getSource(); + logln("CanonicalIterator::getSource returned "+source); + if(start != source) { + errln("CanonicalIterator.getSource() didn't return the starting string. Expected "+start+", got "+source); + } + logln("Testing CanonicalIterator::reset"); + UnicodeString next = can.next(); + logln("CanonicalIterator::next returned "+next); + + can.reset(); + + UnicodeString afterReset = can.next(); + logln("After reset, CanonicalIterator::next returned "+afterReset); + + if(next != afterReset) { + errln("Next after instantiation ("+next+") is different from next after reset ("+afterReset+")."); + } + +} \ No newline at end of file diff --git a/icu4c/source/test/intltest/canittst.h b/icu4c/source/test/intltest/canittst.h index d97aee8139d..33e2aa11d71 100644 --- a/icu4c/source/test/intltest/canittst.h +++ b/icu4c/source/test/intltest/canittst.h @@ -30,6 +30,7 @@ public: void TestCanonicalIterator(void); void TestExhaustive(void); void TestBasic(); + void TestAPI(); UnicodeString collectionToString(Hashtable *col); //static UnicodeString collectionToString(Collection col); private: