csvpp

csvpp Mercurial Source Tree


Root/tests.cpp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
#include <iostream>
#include "csvpp.h"
 
using namespace std;
using namespace csvpp;
int main()
{
    int test = 1;
    // Test 1
    {
        RowReader tmp;
        stringstream ss;
        ss << "field1,field2,field3\r\n123,234,345\r\n999,000,111\r\n";
        ss >> tmp;
        rowiterator it;
        int row = 0;
        while(ss >> tmp)
        {
                switch (row)
                {
                        case 0:
                                if (tmp["field1"] != "123")
                                {
                                        cout << tmp["field1"] << endl;
                                        cerr << "Failed at row " << row << endl;
                                        cerr << "Failed at test " << test << endl;
                                        return 1;
                                }
                                break;
                        case 1:
                                if (tmp["field1"] != "999")
                                {
                                        cerr << "Failed at row " << row << endl;
                                        cerr << "Failed at test " << test << endl;
                                        return 1;
                                }
                                break;
                }
                row++;
        }
    }
     
    test++;
    // Test 2
    {
        RowReader tmp;
        stringstream ss;
        ss << "field1,field2,field3\n123,234,345\n999,000,111\n";
        ss >> tmp;
        rowiterator it;
        int row = 0;
        while(ss >> tmp)
        {
                switch (row)
                {
                        case 0:
                                if (tmp["field1"] != "123")
                                {
                                        cout << tmp["field1"] << endl;
                                        cerr << "Failed at row " << row << endl;
                                        cerr << "Failed at test " << test << endl;
                                        return 1;
                                }
                                break;
                        case 1:
                                if (tmp["field1"] != "999")
                                {
                                        cerr << "Failed at row " << row << endl;
                                        cerr << "Failed at test " << test << endl;
                                        return 1;
                                }
                                break;
                }
                row++;
        }
    }
     
    test++;
    // Test 3
    // Testing patch provided by Hanifa
    {
        RowReader tmp('|');
        stringstream ss;
        ss << "field1|field2|field3\r\n123|234|345\r\n999|000|111\r\n";
        ss >> tmp;
        rowiterator it;
        int row = 0;
         
        while(ss >> tmp)
        {
                switch (row)
                {
                        case 0:
                                if (tmp["field1"] != "123")
                                {
                                        cout << tmp["field1"] << endl;
                                        cerr << "Failed at row " << row << endl;
                                        cerr << "Failed at test " << test << endl;
                                        return 1;
                                }
                                break;
                        case 1:
                                if (tmp["field1"] != "999")
                                {
                                        cerr << "Failed at row " << row << endl;
                                        cerr << "Failed at test " << test << endl;
                                        return 1;
                                }
                                break;
                }
                row++;
        }
     
    }
 
        cout << "All tests ran successfully" << endl;
    return 0;
}
Source at commit 6bb7abecbe5c created 11 years 4 months ago.
By Nathan Adams, Fixing variable

Archive Download this file

Branches

Tags

Page rendered in 2.54845s using 11 queries.