File tree Expand file tree Collapse file tree 6 files changed +360
-3
lines changed Expand file tree Collapse file tree 6 files changed +360
-3
lines changed Original file line number Diff line number Diff line change @@ -11,12 +11,13 @@ blobstamper/helpers.o \
11
11
blobstamper/stamp.o \
12
12
blobstamper/stamp_atomic.o \
13
13
blobstamper/stamp_pg_type_geo.o \
14
+ blobstamper/dict.o \
14
15
15
16
WRAPPERS_OBJ = pg_op_wrappers.o
16
17
17
18
18
19
.PHONY : all blob-stamper-all blob-stamper-clean clean test
19
- all : blob-stamper-all $(WRAPPERS_OBJ )
20
+ all : blob-stamper-all test_dict $(WRAPPERS_OBJ )
20
21
@echo All done!
21
22
22
23
blob-stamper-all :
@@ -40,3 +41,6 @@ clean: blob-stamper-clean
40
41
test :
41
42
$(MAKE ) -C t test
42
43
44
+ # test_dict: test_dict.o blob-stamper-all
45
+ # $(CXX) $(LDFLAGS) $@.o -o $@ $(BLOB_STAMPER_OBJ)
46
+
Original file line number Diff line number Diff line change @@ -3,7 +3,8 @@ ALL_OBJS = blob.o \
3
3
helpers.o \
4
4
stamp.o \
5
5
stamp_atomic.o \
6
- stamp_pg_type_geo.o
6
+ stamp_pg_type_geo.o \
7
+ dict.o
7
8
8
9
9
10
% .o : % .cpp $(DEPS )
Original file line number Diff line number Diff line change
1
+ #ifndef BLOB_H
2
+ #define BLOB_H
3
+
4
+ #include " dict.h"
5
+
6
+
7
+ size_t
8
+ DictBase::size ()
9
+ {
10
+ return data.size ();
11
+ }
12
+
13
+ std::string
14
+ DictBase::get (size_t n)
15
+ {
16
+ return data[n];
17
+ }
18
+
19
+
20
+ DictLCAlphaSmall::DictLCAlphaSmall ()
21
+ {
22
+ /* List below was generated with following perl script
23
+
24
+ open(my $fh, "/usr/share/dict/british-english-small");
25
+ my $i=0;
26
+ while (my $s=<$fh>)
27
+ {
28
+ chomp $s;
29
+ if ($s =~ /^[a-z]+$/)
30
+ {
31
+ print '"'.$s.'"'.",\n" if $i % 157 == 0;
32
+ $i++;
33
+ }
34
+ }
35
+ */
36
+ data = {
37
+ " a" ,
38
+ " abundances" ,
39
+ " achieves" ,
40
+ " adjunct" ,
41
+ " affair" ,
42
+ " aired" ,
43
+ " ally" ,
44
+ " amphitheatre" ,
45
+ " annoyance" ,
46
+ " appalled" ,
47
+ " arbitrators" ,
48
+ " artichokes" ,
49
+ " assisting" ,
50
+ " auctioneers" ,
51
+ " awaked" ,
52
+ " balanced" ,
53
+ " barbiturates" ,
54
+ " bawdier" ,
55
+ " beggaring" ,
56
+ " berserk" ,
57
+ " biographies" ,
58
+ " blazer" ,
59
+ " blown" ,
60
+ " bond" ,
61
+ " boundless" ,
62
+ " breaded" ,
63
+ " broadsided" ,
64
+ " buggy" ,
65
+ " burping" ,
66
+ " caches" ,
67
+ " caned" ,
68
+ " cards" ,
69
+ " castoffs" ,
70
+ " cellar" ,
71
+ " chant" ,
72
+ " cheetahs" ,
73
+ " choral" ,
74
+ " citizen" ,
75
+ " cleft" ,
76
+ " clues" ,
77
+ " coined" ,
78
+ " commanding" ,
79
+ " competences" ,
80
+ " concentrate" ,
81
+ " configures" ,
82
+ " conserve" ,
83
+ " contemptuous" ,
84
+ " convertors" ,
85
+ " corpulent" ,
86
+ " counterparts" ,
87
+ " cranking" ,
88
+ " crippled" ,
89
+ " crusades" ,
90
+ " cursing" ,
91
+ " dams" ,
92
+ " debate" ,
93
+ " dedication" ,
94
+ " deign" ,
95
+ " denomination" ,
96
+ " descents" ,
97
+ " detonate" ,
98
+ " differences" ,
99
+ " dirt" ,
100
+ " discouragement" ,
101
+ " dismally" ,
102
+ " dissented" ,
103
+ " divested" ,
104
+ " doorstep" ,
105
+ " dread" ,
106
+ " drunks" ,
107
+ " dying" ,
108
+ " edifices" ,
109
+ " elegant" ,
110
+ " emergency" ,
111
+ " encyclopedia" ,
112
+ " enshrine" ,
113
+ " epitaph" ,
114
+ " eternities" ,
115
+ " excavates" ,
116
+ " exists" ,
117
+ " extends" ,
118
+ " fact" ,
119
+ " fashionably" ,
120
+ " fellow" ,
121
+ " fifteen" ,
122
+ " firms" ,
123
+ " flavourings" ,
124
+ " floured" ,
125
+ " followers" ,
126
+ " forestalled" ,
127
+ " fouler" ,
128
+ " freshens" ,
129
+ " fulfilling" ,
130
+ " galaxy" ,
131
+ " gaudier" ,
132
+ " germs" ,
133
+ " gleam" ,
134
+ " godfather" ,
135
+ " graffiti" ,
136
+ " greened" ,
137
+ " grouping" ,
138
+ " gunshots" ,
139
+ " halved" ,
140
+ " harmonic" ,
141
+ " headrest" ,
142
+ " hems" ,
143
+ " hims" ,
144
+ " holy" ,
145
+ " horrify" ,
146
+ " humans" ,
147
+ " hyphenates" ,
148
+ " illustration" ,
149
+ " impersonated" ,
150
+ " inadequate" ,
151
+ " increase" ,
152
+ " industrious" ,
153
+ " infuriate" ,
154
+ " inquiry" ,
155
+ " insulated" ,
156
+ " intern" ,
157
+ " intuitive" ,
158
+ " irreverence" ,
159
+ " jaws" ,
160
+ " journals" ,
161
+ " kegs" ,
162
+ " kneecap" ,
163
+ " lamentations" ,
164
+ " launder" ,
165
+ " lefts" ,
166
+ " liberated" ,
167
+ " lingoes" ,
168
+ " lobes" ,
169
+ " lords" ,
170
+ " lushes" ,
171
+ " maintaining" ,
172
+ " mannequins" ,
173
+ " mascot" ,
174
+ " meadows" ,
175
+ " men" ,
176
+ " miaows" ,
177
+ " minds" ,
178
+ " misjudge" ,
179
+ " modernise" ,
180
+ " mop" ,
181
+ " mourners" ,
182
+ " muscles" ,
183
+ " narrations" ,
184
+ " neglects" ,
185
+ " nightgowns" ,
186
+ " nostalgia" ,
187
+ " nymph" ,
188
+ " oceans" ,
189
+ " ooze" ,
190
+ " ore" ,
191
+ " outlasted" ,
192
+ " overgrowing" ,
193
+ " overwriting" ,
194
+ " pamper" ,
195
+ " pardon" ,
196
+ " pastiche" ,
197
+ " pearl" ,
198
+ " people" ,
199
+ " perplexity" ,
200
+ " phenomenal" ,
201
+ " pigged" ,
202
+ " pivots" ,
203
+ " pleasured" ,
204
+ " pokers" ,
205
+ " portables" ,
206
+ " powders" ,
207
+ " preface" ,
208
+ " pretzels" ,
209
+ " procedures" ,
210
+ " prom" ,
211
+ " protective" ,
212
+ " puddles" ,
213
+ " purr" ,
214
+ " queasier" ,
215
+ " racquets" ,
216
+ " ranks" ,
217
+ " readable" ,
218
+ " receptionist" ,
219
+ " recuperated" ,
220
+ " refrigerate" ,
221
+ " reiterate" ,
222
+ " reminisces" ,
223
+ " replenishes" ,
224
+ " resemblances" ,
225
+ " resulted" ,
226
+ " reverenced" ,
227
+ " ridiculing" ,
228
+ " robots" ,
229
+ " route" ,
230
+ " rustlers" ,
231
+ " salves" ,
232
+ " savour" ,
233
+ " schoolboy" ,
234
+ " scrounging" ,
235
+ " sedating" ,
236
+ " separates" ,
237
+ " shakiest" ,
238
+ " shined" ,
239
+ " shrewdness" ,
240
+ " significance" ,
241
+ " sitters" ,
242
+ " slakes" ,
243
+ " slogged" ,
244
+ " smoothest" ,
245
+ " snowfalls" ,
246
+ " solidifies" ,
247
+ " sow" ,
248
+ " speeches" ,
249
+ " spongiest" ,
250
+ " squalled" ,
251
+ " stammer" ,
252
+ " stealthy" ,
253
+ " stitches" ,
254
+ " strangers" ,
255
+ " stubbiest" ,
256
+ " subside" ,
257
+ " suitably" ,
258
+ " supplemented" ,
259
+ " swampiest" ,
260
+ " sympathetically" ,
261
+ " taken" ,
262
+ " tattled" ,
263
+ " temperate" ,
264
+ " testicle" ,
265
+ " thirteenths" ,
266
+ " tickles" ,
267
+ " tittered" ,
268
+ " tormentors" ,
269
+ " tragic" ,
270
+ " trappings" ,
271
+ " triggers" ,
272
+ " trusty" ,
273
+ " twigged" ,
274
+ " unburdening" ,
275
+ " undeserved" ,
276
+ " unite" ,
277
+ " unseemly" ,
278
+ " upstream" ,
279
+ " valved" ,
280
+ " verbiage" ,
281
+ " vindicating" ,
282
+ " vortexes" ,
283
+ " want" ,
284
+ " waxes" ,
285
+ " wets" ,
286
+ " whom" ,
287
+ " wipes" ,
288
+ " woolliest" ,
289
+ " wrinkles" ,
290
+ " zanier"
291
+ };
292
+ }
293
+
294
+ #endif /* DICT_H*/
Original file line number Diff line number Diff line change
1
+ #include < string>
2
+ #include < vector>
3
+
4
+
5
+ class DictBase
6
+ {
7
+ protected:
8
+ std::vector<std::string> data;
9
+ public:
10
+ size_t size ();
11
+ std::string get (size_t n); // FIXME May be it would be good to use operator[] later.
12
+ DictBase () {data = {};};
13
+ };
14
+
15
+ class DictLCAlphaSmall : public DictBase
16
+ {
17
+ public:
18
+ DictLCAlphaSmall ();
19
+ };
Original file line number Diff line number Diff line change
1
+ #include < string.h>
2
+
3
+ #include < exception>
4
+ #include < string>
5
+ #include < cstdlib>
6
+ #define WANT_TEST_EXTRAS
7
+ #include < tap++/tap++.h>
8
+
9
+ #include " blobstamper/dict.h"
10
+
11
+ class DictTest : public DictBase
12
+ {
13
+ public:
14
+ DictTest ();
15
+ };
16
+
17
+ DictTest::DictTest ()
18
+ {
19
+ data = {" one" ," two" ," three" };
20
+ }
21
+
22
+ using namespace TAP ;
23
+
24
+ /* Test that dict works as expected*/
25
+
26
+ int
27
+ main ()
28
+ {
29
+ TEST_START (2 );
30
+
31
+ { /* 1..2 */
32
+ DictTest dict;
33
+ ok (dict.size () == 3 ," Dict size" );
34
+ ok (dict.get (1 ) == " two" ," Dict content" );
35
+ }
36
+
37
+ TEST_END;
38
+ }
You can’t perform that action at this time.
0 commit comments