ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-3.0/test/utils/StringTokenizerTestCase.cpp
Revision: 1781
Committed: Wed Nov 24 19:49:33 2004 UTC (19 years, 7 months ago) by tim
File size: 2322 byte(s)
Log Message:
Addint StringTokenizerTestCase

File Contents

# User Rev Content
1 tim 1781 #include "utils/StringTokenizerTestCase.hpp"
2     #include <iostream>
3     #include <algorithm>
4     #include "utils/StringTokenizer.hpp"
5     // Registers the fixture into the 'registry'
6     CPPUNIT_TEST_SUITE_REGISTRATION( StringTokenizerTestCase );
7    
8    
9     void StringTokenizerTestCase::testStringTokenizer(){
10    
11    
12     std::string str1 = " \t Hello \r World \n";
13     StringTokenizer tokenizer1(str1);
14    
15     CPPUNIT_ASSERT(tokenizer1.getOriginal() == str1);
16    
17     CPPUNIT_ASSERT(tokenizer1.countTokens() == 2);
18    
19     std::string token1 = tokenizer1.nextToken();
20     std::string token2 = tokenizer1.nextToken();
21    
22     CPPUNIT_ASSERT(token1 == "Hello");
23     CPPUNIT_ASSERT(token2 == "World");
24    
25     //test reading and converting tokens to other data type
26     std::string str2 = "1991.2\t129\t1e2 1 OOPSE\n";
27     StringTokenizer tokenizer2(str2);
28    
29     CPPUNIT_ASSERT(tokenizer2.countTokens() == 5);
30    
31     float floatVal = tokenizer2.nextTokenAsFloat();
32     int intVal = tokenizer2.nextTokenAsInt();
33     double doubleVal = tokenizer2.nextTokenAsDouble();
34     bool boolVal = tokenizer2.nextTokenAsBool();
35     std::string stringVal = tokenizer2.nextToken();
36    
37     CPPUNIT_ASSERT_DOUBLES_EQUAL(floatVal, 1991.2, 0.0001);
38     CPPUNIT_ASSERT(intVal == 129);
39     CPPUNIT_ASSERT_DOUBLES_EQUAL(doubleVal, 100, 0.0001);
40     CPPUNIT_ASSERT(boolVal);
41     CPPUNIT_ASSERT(stringVal == "OOPSE");
42    
43     CPPUNIT_ASSERT(!tokenizer2.hasMoreTokens());
44    
45     //test peekNextToken and using different delimeters
46     StringTokenizer tokenizer3(str2, " \n");
47    
48     CPPUNIT_ASSERT(tokenizer3.getDelimiters() == " \n");
49    
50     CPPUNIT_ASSERT(tokenizer3.countTokens() == 3);
51    
52     CPPUNIT_ASSERT(tokenizer3.peekNextToken() == "1991.2\t129\t1e2");
53    
54     CPPUNIT_ASSERT(tokenizer3.countTokens() == 3);
55    
56     CPPUNIT_ASSERT(tokenizer3.nextToken() == "1991.2\t129\t1e2");
57    
58     CPPUNIT_ASSERT(tokenizer3.countTokens() == 2);
59    
60     //test return tokens
61     StringTokenizer tokenizer4(str2, " \n", true);
62     CPPUNIT_ASSERT(tokenizer4.countTokens() == 6);
63     CPPUNIT_ASSERT(tokenizer4.nextToken() == "1991.2\t129\t1e2");
64     CPPUNIT_ASSERT(tokenizer4.nextToken() == " ");
65     CPPUNIT_ASSERT(tokenizer4.nextToken() == "1");
66     CPPUNIT_ASSERT(tokenizer4.nextToken() == " ");
67     CPPUNIT_ASSERT(tokenizer4.nextToken() == "OOPSE");
68     CPPUNIT_ASSERT(tokenizer4.nextToken() == "\n");
69    
70     }
71    

Properties

Name Value
svn:executable *