1 | { **************************************************************
|
---|
2 | Package: XWB - Kernel RPCBroker
|
---|
3 | Date Created: Sept 18, 1997 (Version 1.1)
|
---|
4 | Site Name: Oakland, OI Field Office, Dept of Veteran Affairs
|
---|
5 | Developers: Joel Ivey
|
---|
6 | Description: Unit testing MFunStr code - requires dUnit for
|
---|
7 | unit testing.
|
---|
8 | Current Release: Version 1.1 Patch 47 (Jun. 17, 2008))
|
---|
9 | *************************************************************** }
|
---|
10 |
|
---|
11 | unit uUniTTestMFunStr;
|
---|
12 |
|
---|
13 | interface
|
---|
14 |
|
---|
15 | uses
|
---|
16 | TestFramework, Sgnoncnf, Classes, Graphics, SysUtils, Forms;
|
---|
17 |
|
---|
18 | type
|
---|
19 | TTestType = class(TTestCase)
|
---|
20 | private
|
---|
21 | // any private fields needed for processing
|
---|
22 | protected
|
---|
23 | // procedure SetUp; override;
|
---|
24 | // procedure TearDown; override;
|
---|
25 | published
|
---|
26 | // procedure TestName1;
|
---|
27 | // procedure TestName2;
|
---|
28 | end;
|
---|
29 |
|
---|
30 | TTestMFunStr1 = class(TTestCase)
|
---|
31 | private
|
---|
32 | protected
|
---|
33 | procedure Setup; override;
|
---|
34 | public
|
---|
35 | published
|
---|
36 | procedure TestPiece1;
|
---|
37 | procedure TestPiece2;
|
---|
38 | procedure TestPiece3;
|
---|
39 | procedure TestPiece4;
|
---|
40 | procedure TestPiece5;
|
---|
41 | procedure TestPiece6;
|
---|
42 | procedure TestPiece7;
|
---|
43 | procedure TestPiece8;
|
---|
44 | procedure TestPiece9;
|
---|
45 | end;
|
---|
46 |
|
---|
47 | TTestMFunStr2 = class(TTestCase)
|
---|
48 | protected
|
---|
49 | procedure Setup; override;
|
---|
50 | published
|
---|
51 | procedure TestTran1;
|
---|
52 | procedure TestTran2;
|
---|
53 | procedure TestTran3;
|
---|
54 | procedure TestTran4;
|
---|
55 | end;
|
---|
56 |
|
---|
57 | implementation
|
---|
58 |
|
---|
59 | uses
|
---|
60 | MFunStr_1;
|
---|
61 |
|
---|
62 | var
|
---|
63 | Str: String;
|
---|
64 | Val: String;
|
---|
65 |
|
---|
66 | procedure TTestMFunStr1.TestPiece1;
|
---|
67 | begin
|
---|
68 | Val := Piece(Str,'^');
|
---|
69 | Check(Val = 'Piece1','Failed Piece not specified');
|
---|
70 | end;
|
---|
71 |
|
---|
72 | procedure TTestMFunStr1.Setup;
|
---|
73 | begin
|
---|
74 | Str := 'Piece1^Piece2^Piece3';
|
---|
75 | end;
|
---|
76 |
|
---|
77 | procedure TTestMFunStr1.TestPiece2;
|
---|
78 | begin
|
---|
79 | Val := Piece(Str,'^',2);
|
---|
80 | Check(Val = 'Piece2', 'Failed Piece specified as 2');
|
---|
81 | end;
|
---|
82 |
|
---|
83 | procedure TTestMFunStr1.TestPiece3;
|
---|
84 | begin
|
---|
85 | Val := Piece(Str,'^',3);
|
---|
86 | Check(Val = 'Piece3', 'Failed Piece specifed as 3');
|
---|
87 | end;
|
---|
88 |
|
---|
89 | procedure TTestMFunStr1.TestPiece4;
|
---|
90 | begin
|
---|
91 | Val := Piece(Str,'^',4);
|
---|
92 | Check(Val = '','Failed piece specifed as 4');
|
---|
93 | end;
|
---|
94 |
|
---|
95 | procedure TTestMFunStr1.TestPiece5;
|
---|
96 | begin
|
---|
97 | Val := Piece(Str,'^',1,2);
|
---|
98 | Check(Val = 'Piece1^Piece2','Failed Piece 1,2');
|
---|
99 | end;
|
---|
100 |
|
---|
101 | procedure TTestMFunStr1.TestPiece6;
|
---|
102 | begin
|
---|
103 | Val := Piece(Str,'^',2,3);
|
---|
104 | Check(Val = 'Piece2^Piece3','Failed Piece 2,3');
|
---|
105 | end;
|
---|
106 |
|
---|
107 | procedure TTestMFunStr1.TestPiece7;
|
---|
108 | begin
|
---|
109 | Val := Piece(Str,'^',2,4);
|
---|
110 | Check(Val = 'Piece2^Piece3', 'Failed on Piece 2,4');
|
---|
111 | end;
|
---|
112 |
|
---|
113 | procedure TTestMFunStr1.TestPiece8;
|
---|
114 | begin
|
---|
115 | Val := Piece(Str,'^',3,5);
|
---|
116 | Check(Val = 'Piece3','Failed on Piece 3,5');
|
---|
117 | end;
|
---|
118 |
|
---|
119 | procedure TTestMFunStr1.TestPiece9;
|
---|
120 | begin
|
---|
121 | Val := Piece(Str,'^',4,6);
|
---|
122 | Check(Val = '','Failed on Piece 4,6');
|
---|
123 | end;
|
---|
124 |
|
---|
125 | procedure TTestMFunStr2.Setup;
|
---|
126 | begin
|
---|
127 | Str := 'ABCDEFGHABCDE';
|
---|
128 | end;
|
---|
129 |
|
---|
130 | procedure TTestMFunStr2.TestTran1;
|
---|
131 | begin
|
---|
132 | Val := Translate(Str,'ABCDEFGH','abcdefgh');
|
---|
133 | Check(Val = 'abcdefghabcde','Failed upper to lower case');
|
---|
134 | end;
|
---|
135 |
|
---|
136 | procedure TTestMFunStr2.TestTran2;
|
---|
137 | begin
|
---|
138 | Val := Translate(Str,'ABCD','abcde');
|
---|
139 | Check(Val = 'abcdEFGHabcdE', 'Failed Partial');
|
---|
140 | end;
|
---|
141 |
|
---|
142 | procedure TTestMFunStr2.TestTran3;
|
---|
143 | begin
|
---|
144 | Val := Translate(Str,'ABCDEABC','abcdefgh');
|
---|
145 | Check(Val = 'abcdeFGHabcde', 'Failed repeat chars');
|
---|
146 | end;
|
---|
147 |
|
---|
148 | procedure TTestMFunStr2.TestTran4;
|
---|
149 | begin
|
---|
150 | Val := Translate(Str,'ABCDEFGH','abcdeabc');
|
---|
151 | Check(Val = 'abcdeabcabcde', 'Failed in assignment');
|
---|
152 | end;
|
---|
153 |
|
---|
154 | { // used with second method of registering tests
|
---|
155 | function UnitTests: ITestSuite;
|
---|
156 | var
|
---|
157 | ATestSuite: TTestSuite;
|
---|
158 | begin
|
---|
159 | ATestSuite := TTestSuite.create('Some trivial tests');
|
---|
160 | // add each test suite to be tested
|
---|
161 | ATestSuite.addSuite(TTestType.Suite);
|
---|
162 | // ATestSuite.addSuite(TTestStringlist.Suite);
|
---|
163 | Result := ATestSuite;
|
---|
164 | end;
|
---|
165 | }
|
---|
166 |
|
---|
167 |
|
---|
168 | {
|
---|
169 | procedure TTestType.TestName1;
|
---|
170 | begin
|
---|
171 | // Check( Boolean true for success, String comment for failed test)
|
---|
172 | Check(1+1=2,'Comment on Failure')
|
---|
173 | end;
|
---|
174 | }
|
---|
175 |
|
---|
176 | initialization
|
---|
177 | // one entry per testclass
|
---|
178 | TestFramework.RegisterTest('Test Piece',TTestMFunStr1.Suite);
|
---|
179 | TestFramework.RegisterTest('Test Translate',TTestMFunStr2.Suite);
|
---|
180 | // or
|
---|
181 | // TestFramework.RegisterTest('SimpleTest',UnitTests);
|
---|
182 | end.
|
---|