summaryrefslogtreecommitdiff
path: root/test/ParameterizedStringParserTest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'test/ParameterizedStringParserTest.cc')
-rw-r--r--test/ParameterizedStringParserTest.cc25
1 files changed, 14 insertions, 11 deletions
diff --git a/test/ParameterizedStringParserTest.cc b/test/ParameterizedStringParserTest.cc
index f89e350f..4d0cd79c 100644
--- a/test/ParameterizedStringParserTest.cc
+++ b/test/ParameterizedStringParserTest.cc
@@ -54,7 +54,7 @@ CPPUNIT_TEST_SUITE_REGISTRATION( ParameterizedStringParserTest );
void ParameterizedStringParserTest::testParse_select()
{
SharedHandle<PStringDatum> ls = ParameterizedStringParser().parse("{alpha, bravo, charlie}");
- SharedHandle<PStringSelect> select = ls;
+ SharedHandle<PStringSelect> select(dynamic_pointer_cast<PStringSelect>(ls));
CPPUNIT_ASSERT(!select.isNull());
std::deque<std::string> values = select->getValues();
@@ -94,7 +94,7 @@ void ParameterizedStringParserTest::testParse_select_missingParen()
void ParameterizedStringParserTest::testParse_segment()
{
SharedHandle<PStringDatum> ls = ParameterizedStringParser().parse("hello world");
- SharedHandle<PStringSegment> segment = ls;
+ SharedHandle<PStringSegment> segment(dynamic_pointer_cast<PStringSegment>(ls));
CPPUNIT_ASSERT(!segment.isNull());
CPPUNIT_ASSERT_EQUAL(std::string("hello world"), segment->getValue());
}
@@ -103,19 +103,22 @@ void ParameterizedStringParserTest::testParse_segment_select()
{
SharedHandle<PStringDatum> ls = ParameterizedStringParser().parse("file:///{alpha, bravo, charlie}/tango");
- SharedHandle<PStringSegment> segment1 = ls;
+ SharedHandle<PStringSegment> segment1
+ (dynamic_pointer_cast<PStringSegment>(ls));
CPPUNIT_ASSERT(!segment1.isNull());
CPPUNIT_ASSERT_EQUAL(std::string("file:///"), segment1->getValue());
- SharedHandle<PStringSelect> select1 = segment1->getNext();
+ SharedHandle<PStringSelect> select1
+ (dynamic_pointer_cast<PStringSelect>(segment1->getNext()));
CPPUNIT_ASSERT(!select1.isNull());
std::deque<std::string> selectValues = select1->getValues();
CPPUNIT_ASSERT_EQUAL((size_t)3, selectValues.size());
CPPUNIT_ASSERT_EQUAL(std::string("alpha"), selectValues[0]);
CPPUNIT_ASSERT_EQUAL(std::string("bravo"), selectValues[1]);
CPPUNIT_ASSERT_EQUAL(std::string("charlie"), selectValues[2]);
-
- SharedHandle<PStringSegment> segment2 = select1->getNext();
+
+ SharedHandle<PStringSegment> segment2
+ (dynamic_pointer_cast<PStringSegment>(select1->getNext()));
CPPUNIT_ASSERT(!segment2.isNull());
CPPUNIT_ASSERT_EQUAL(std::string("/tango"), segment2->getValue());
}
@@ -124,7 +127,7 @@ void ParameterizedStringParserTest::testParse_loop()
{
SharedHandle<PStringDatum> ls = ParameterizedStringParser().parse("[1-10:2]");
- SharedHandle<PStringNumLoop> loop1 = ls;
+ SharedHandle<PStringNumLoop> loop1(dynamic_pointer_cast<PStringNumLoop>(ls));
CPPUNIT_ASSERT(!loop1.isNull());
CPPUNIT_ASSERT_EQUAL(1U, loop1->getStartValue());
CPPUNIT_ASSERT_EQUAL(10U, loop1->getEndValue());
@@ -187,7 +190,7 @@ void ParameterizedStringParserTest::testParse_alphaLoop()
{
SharedHandle<PStringDatum> ls = ParameterizedStringParser().parse("[a-z:2]");
- SharedHandle<PStringNumLoop> loop1 = ls;
+ SharedHandle<PStringNumLoop> loop1(dynamic_pointer_cast<PStringNumLoop>(ls));
CPPUNIT_ASSERT(!loop1.isNull());
CPPUNIT_ASSERT_EQUAL(0U, loop1->getStartValue());
CPPUNIT_ASSERT_EQUAL(25U, loop1->getEndValue());
@@ -224,17 +227,17 @@ void ParameterizedStringParserTest::testParse_segment_loop()
{
SharedHandle<PStringDatum> ls = ParameterizedStringParser().parse("http://server[1-3]/file");
- SharedHandle<PStringSegment> segment1 = ls;
+ SharedHandle<PStringSegment> segment1(dynamic_pointer_cast<PStringSegment>(ls));
CPPUNIT_ASSERT(!segment1.isNull());
CPPUNIT_ASSERT_EQUAL(std::string("http://server"), segment1->getValue());
- SharedHandle<PStringNumLoop> loop1 = segment1->getNext();
+ SharedHandle<PStringNumLoop> loop1(dynamic_pointer_cast<PStringNumLoop>(segment1->getNext()));
CPPUNIT_ASSERT(!loop1.isNull());
CPPUNIT_ASSERT_EQUAL(1U, loop1->getStartValue());
CPPUNIT_ASSERT_EQUAL(3U, loop1->getEndValue());
CPPUNIT_ASSERT_EQUAL(1U, loop1->getStep());
- SharedHandle<PStringSegment> segment2 = loop1->getNext();
+ SharedHandle<PStringSegment> segment2(dynamic_pointer_cast<PStringSegment>(loop1->getNext()));
CPPUNIT_ASSERT(!segment2.isNull());
CPPUNIT_ASSERT_EQUAL(std::string("/file"), segment2->getValue());
}