diff options
Diffstat (limited to 'test/ParameterizedStringParserTest.cc')
| -rw-r--r-- | test/ParameterizedStringParserTest.cc | 25 |
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()); } |
