Code and sample output to test new classes.
[dyninst.git] / pdutil / tests / CstringTest.C
1
2
3 /*
4  * Code to test the Cstring ADT
5  * Has no purify errors.
6  * Presents examples of use of class Cstring
7  *
8  * Verified output is in cstring_out
9  *
10  * $Log: CstringTest.C,v $
11  * Revision 1.1  1994/08/17 18:26:10  markc
12  * Code and sample output to test new classes.
13  *
14  * 
15  */ 
16
17
18 #pragma implementation "cstring.h"
19 #include "../h/cstring.h"
20
21 void test()
22 {
23   Cstring one, two, three("happy");
24   Cstring *p1, *p2, *p3;
25   
26   p1 = new Cstring("sad");
27   one = *p1;
28   p2 = new Cstring(one);
29   *p2 = "p2";
30
31   if (three == "happy")
32     cout << "three == happy\n";
33
34   if (one == (*p1))
35     cout << "one == p1\n";
36
37   if (one == (*p2))
38     cout << "one == p2\n";
39
40   if (one < (*p2))
41     cout << one << " is < " << (*p2) << endl;
42   else
43     cout << one << " is not < " << (*p2) << endl;
44
45   if (one < "zippy")
46     cout << one << " is < " << "zippy" << endl;
47   else
48     cout << one << " is not < " << "zippy" << endl;
49
50   if (one < "sade")
51     cout << one << " is < " << "sade" << endl;
52   else
53     cout << one << " is not < " << "sade" << endl;
54
55   if (one < "sa")
56     cout << one << " is < " << "sa" << endl;
57   else
58     cout << one << " is not < " << "sa" << endl;
59
60   if (one < "sad")
61     cout << one << " is < " << "sad" << endl;
62   else
63     cout << one << " is not < " << "sad" << endl;
64
65   if (one > (*p2))
66     cout << one << " is > " << (*p2) << endl;
67   else
68     cout << one << " is not > " << (*p2) << endl;
69
70   if (one > "zippy")
71     cout << one << " is > " << "zippy" << endl;
72   else
73     cout << one << " is not > " << "zippy" << endl;
74
75   if (one > "sade")
76     cout << one << " is > " << "sade" << endl;
77   else
78     cout << one << " is not > " << "sade" << endl;
79
80   if (one > "sad")
81     cout << one << " is > " << "sad" << endl;
82   else
83     cout << one << " is not > " << "sad" << endl;  
84
85   cout << "one is " << one << endl;
86   cout << "two is " << two << endl;
87   cout << "three is " << three << endl;
88   cout << "p1 is " << (*p1) << endl;
89   cout << "p2 is " << (*p2) << endl;
90
91   cout << "p2 is " << p2->get() << endl;
92   
93   Cstring *p4 = new Cstring(1, p2->get_copy());
94   cout << "p4 is " << (*p4) << endl;
95
96   p4->use(p4->get_copy());
97   cout << "p4 is " << (*p4) << endl;
98
99   cout << one << " plus " << two << " = " << (one + two) << endl;
100   cout << one << " plus " << one << " = " << (one + one) << endl;
101
102   delete p1;
103   delete p2;
104   delete p4;
105 }
106
107 main()
108 {
109   test();
110 }