1
|
/**
|
2
|
*
|
3
|
*/
|
4
|
package eu.etaxonomy.cdm.persistence.dao.hibernate.taxon;
|
5
|
|
6
|
import static org.junit.Assert.assertEquals;
|
7
|
|
8
|
import java.io.FileNotFoundException;
|
9
|
import java.util.List;
|
10
|
import java.util.UUID;
|
11
|
|
12
|
import org.junit.Assert;
|
13
|
import org.junit.Before;
|
14
|
import org.junit.Test;
|
15
|
import org.unitils.dbunit.annotation.DataSet;
|
16
|
import org.unitils.dbunit.annotation.DataSets;
|
17
|
import org.unitils.spring.annotation.SpringBeanByType;
|
18
|
|
19
|
import eu.etaxonomy.cdm.filter.TaxonNodeFilter;
|
20
|
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
|
21
|
import eu.etaxonomy.cdm.model.description.Distribution;
|
22
|
import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;
|
23
|
import eu.etaxonomy.cdm.model.description.TaxonDescription;
|
24
|
import eu.etaxonomy.cdm.model.location.NamedArea;
|
25
|
import eu.etaxonomy.cdm.model.name.NomenclaturalCode;
|
26
|
import eu.etaxonomy.cdm.model.name.Rank;
|
27
|
import eu.etaxonomy.cdm.model.name.TaxonName;
|
28
|
import eu.etaxonomy.cdm.model.reference.Reference;
|
29
|
import eu.etaxonomy.cdm.model.taxon.Classification;
|
30
|
import eu.etaxonomy.cdm.model.taxon.Taxon;
|
31
|
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
|
32
|
import eu.etaxonomy.cdm.persistence.dao.common.IDefinedTermDao;
|
33
|
import eu.etaxonomy.cdm.persistence.dao.taxon.IClassificationDao;
|
34
|
import eu.etaxonomy.cdm.persistence.dao.taxon.ITaxonNodeDao;
|
35
|
import eu.etaxonomy.cdm.persistence.dao.taxon.ITaxonNodeFilterDao;
|
36
|
import eu.etaxonomy.cdm.test.integration.CdmTransactionalIntegrationTest;
|
37
|
import eu.etaxonomy.cdm.test.unitils.CleanSweepInsertLoadStrategy;
|
38
|
|
39
|
/**
|
40
|
* @author a.mueller
|
41
|
* @date 2014/06/13
|
42
|
*
|
43
|
*/
|
44
|
public class TaxonNodeFilterDaoHibernateImplTest extends CdmTransactionalIntegrationTest {
|
45
|
|
46
|
@SpringBeanByType
|
47
|
private ITaxonNodeDao taxonNodeDao;
|
48
|
|
49
|
@SpringBeanByType
|
50
|
private IClassificationDao classificationDao;
|
51
|
|
52
|
@SpringBeanByType
|
53
|
private ITaxonNodeFilterDao filterDao;
|
54
|
|
55
|
@SpringBeanByType
|
56
|
private IDefinedTermDao termDao;
|
57
|
|
58
|
|
59
|
private final UUID europeUuid = UUID.fromString("e860871c-3a14-4ef2-9367-bbd92586c95b");
|
60
|
private final UUID germanyUuid = UUID.fromString("7b7c2db5-aa44-4302-bdec-6556fd74b0b9");
|
61
|
private final UUID denmarkUuid = UUID.fromString("f818c97e-fd61-42fe-9d75-d433f8cb349c");
|
62
|
private final UUID franceUuid = UUID.fromString("41c5129a-3465-42cc-b016-59ab9ffad71a");
|
63
|
|
64
|
private final UUID middleEuropeUuid = UUID.fromString("d292f237-da3d-408b-93a1-3257a8c80b97");
|
65
|
private final UUID africaUuid = UUID.fromString("9444016a-b334-4772-8795-ed4019552087");
|
66
|
|
67
|
private Classification classification1;
|
68
|
private TaxonNode node1;
|
69
|
private TaxonNode node2;
|
70
|
private TaxonNode node3;
|
71
|
private TaxonNode node4;
|
72
|
private TaxonNode node5;
|
73
|
private TaxonNode nodeUnpublished;
|
74
|
private Taxon taxon1;
|
75
|
private Taxon taxon2;
|
76
|
private Taxon taxon3;
|
77
|
private Taxon taxon4;
|
78
|
private Taxon taxon5;
|
79
|
private Taxon taxonUnpublished;
|
80
|
|
81
|
/**
|
82
|
* @throws java.lang.Exception
|
83
|
*/
|
84
|
@Before
|
85
|
public void setUp() throws Exception {
|
86
|
/*
|
87
|
* classification 1
|
88
|
* - node1 (taxon1, Genus, Europe)
|
89
|
* - node3 (taxon3, Species, Germany) //if subspecies exists in Denmark this is not fully correct !!
|
90
|
* - node4 (taxon4, Subspecies, Denmark)
|
91
|
* - node5 (taxon5, Subspecies)
|
92
|
* - node2 (taxon2, Family, France)
|
93
|
*/
|
94
|
classification1 = Classification.NewInstance("TestClassification");
|
95
|
Reference citation = null;
|
96
|
String microCitation = null;
|
97
|
taxon1 = Taxon.NewInstance(TaxonName.NewInstance(NomenclaturalCode.ICNAFP, Rank.GENUS(), null, null, null, null, null, null, null, null), null);
|
98
|
taxon2 = Taxon.NewInstance(TaxonName.NewInstance(NomenclaturalCode.ICNAFP, Rank.FAMILY(), null, null, null, null, null, null, null, null), null);
|
99
|
taxon3 = Taxon.NewInstance(TaxonName.NewInstance(NomenclaturalCode.ICNAFP, Rank.SPECIES(), null, null, null, null, null, null, null, null), null);
|
100
|
taxon4 = Taxon.NewInstance(TaxonName.NewInstance(NomenclaturalCode.ICNAFP, Rank.SUBSPECIES(), null, null, null, null, null, null, null, null), null);
|
101
|
taxon5 = Taxon.NewInstance(TaxonName.NewInstance(NomenclaturalCode.ICNAFP, Rank.SUBSPECIES(), null, null, null, null, null, null, null, null), null);
|
102
|
taxonUnpublished = Taxon.NewInstance(TaxonName.NewInstance(NomenclaturalCode.ICNAFP, Rank.SUBSPECIES(), null, null, null, null, null, null, null, null), null);
|
103
|
taxonUnpublished.setPublish(false);
|
104
|
|
105
|
NamedArea europe = (NamedArea) termDao.load(europeUuid);
|
106
|
NamedArea germany = (NamedArea) termDao.load(germanyUuid);
|
107
|
NamedArea denmark = (NamedArea) termDao.load(denmarkUuid);
|
108
|
NamedArea france = (NamedArea) termDao.load(franceUuid);
|
109
|
TaxonDescription.NewInstance(taxon1).addElement(Distribution.NewInstance(europe, PresenceAbsenceTerm.NATIVE()));
|
110
|
TaxonDescription.NewInstance(taxon3).addElement(Distribution.NewInstance(germany, PresenceAbsenceTerm.NATIVE()));
|
111
|
TaxonDescription.NewInstance(taxon4).addElement(Distribution.NewInstance(denmark, PresenceAbsenceTerm.NATIVE()));
|
112
|
TaxonDescription.NewInstance(taxon2).addElement(Distribution.NewInstance(france, PresenceAbsenceTerm.NATIVE()));
|
113
|
|
114
|
node1 = classification1.addChildTaxon(taxon1, citation, microCitation);
|
115
|
node1= taxonNodeDao.save(node1);
|
116
|
|
117
|
node2 = classification1.addChildTaxon(taxon2, citation, microCitation);
|
118
|
node2 = taxonNodeDao.save(node2);
|
119
|
node3 = node1.addChildTaxon(taxon3, citation, microCitation);
|
120
|
taxonNodeDao.save(node3);
|
121
|
node4 = node3.addChildTaxon(taxon4, citation, microCitation);
|
122
|
taxonNodeDao.save(node4);
|
123
|
node5 = node3.addChildTaxon(taxon5, citation, microCitation);
|
124
|
node5 = taxonNodeDao.save(node5);
|
125
|
nodeUnpublished = node3.addChildTaxon(taxonUnpublished, citation, microCitation);
|
126
|
nodeUnpublished = taxonNodeDao.save(nodeUnpublished);
|
127
|
|
128
|
//MergeResult result = taxonNodeDao.merge(node5, true);
|
129
|
//node5 = (TaxonNode) result.getMergedEntity();
|
130
|
|
131
|
//taxonNodeDao.save(node5);
|
132
|
|
133
|
|
134
|
|
135
|
classificationDao.save(classification1);
|
136
|
|
137
|
|
138
|
}
|
139
|
|
140
|
@Test
|
141
|
public void testListUuidsByAreas() {
|
142
|
String message = "wrong number of nodes filtered";
|
143
|
|
144
|
NamedArea europe = HibernateProxyHelper.deproxy(termDao.load(europeUuid), NamedArea.class);
|
145
|
NamedArea middleEurope = HibernateProxyHelper.deproxy(termDao.load(middleEuropeUuid), NamedArea.class);
|
146
|
NamedArea africa = HibernateProxyHelper.deproxy(termDao.load(africaUuid), NamedArea.class);
|
147
|
NamedArea germany = HibernateProxyHelper.deproxy(termDao.load(germanyUuid), NamedArea.class);
|
148
|
|
149
|
TaxonNodeFilter filter = new TaxonNodeFilter(europe);
|
150
|
List<UUID> listUuid = filterDao.listUuids(filter);
|
151
|
assertEquals(message, 4, listUuid.size());
|
152
|
Assert.assertTrue(listUuid.contains(node1.getUuid()));
|
153
|
Assert.assertTrue(listUuid.contains(node2.getUuid()));
|
154
|
Assert.assertTrue(listUuid.contains(node3.getUuid()));
|
155
|
Assert.assertTrue(listUuid.contains(node4.getUuid()));
|
156
|
|
157
|
filter = new TaxonNodeFilter(germany);
|
158
|
listUuid = filterDao.listUuids(filter);
|
159
|
assertEquals(message, 1, listUuid.size());
|
160
|
Assert.assertTrue(listUuid.contains(node3.getUuid()));
|
161
|
|
162
|
filter = new TaxonNodeFilter(middleEurope);
|
163
|
listUuid = filterDao.listUuids(filter);
|
164
|
assertEquals(message, 1, listUuid.size());
|
165
|
Assert.assertTrue(listUuid.contains(node3.getUuid()));
|
166
|
|
167
|
filter = new TaxonNodeFilter(africa);
|
168
|
listUuid = filterDao.listUuids(filter);
|
169
|
assertEquals(message, 0, listUuid.size());
|
170
|
}
|
171
|
|
172
|
@Test
|
173
|
@DataSets({
|
174
|
@DataSet(loadStrategy=CleanSweepInsertLoadStrategy.class, value="/eu/etaxonomy/cdm/database/ClearDBDataSet.xml")
|
175
|
})
|
176
|
public void testListUuidsByRank() {
|
177
|
String message = "wrong number of nodes filtered";
|
178
|
TaxonNodeFilter filter = new TaxonNodeFilter();
|
179
|
List<UUID> listUuid = filterDao.listUuids(filter);
|
180
|
assertEquals(message, 5, listUuid.size()); //test start condition without rank filter
|
181
|
|
182
|
filter = new TaxonNodeFilter(Rank.SPECIES(), Rank.GENUS());
|
183
|
listUuid = filterDao.listUuids(filter);
|
184
|
assertEquals(message, 2, listUuid.size());
|
185
|
Assert.assertTrue(listUuid.contains(node1.getUuid()));
|
186
|
Assert.assertTrue(listUuid.contains(node3.getUuid()));
|
187
|
|
188
|
filter = new TaxonNodeFilter(Rank.SPECIES(), Rank.KINGDOM());
|
189
|
listUuid = filterDao.listUuids(filter);
|
190
|
assertEquals(message, 3, listUuid.size());
|
191
|
Assert.assertTrue(listUuid.contains(node1.getUuid()));
|
192
|
Assert.assertTrue(listUuid.contains(node2.getUuid()));
|
193
|
Assert.assertTrue(listUuid.contains(node3.getUuid()));
|
194
|
|
195
|
filter = new TaxonNodeFilter(Rank.FAMILY(), Rank.FAMILY());
|
196
|
listUuid = filterDao.listUuids(filter);
|
197
|
assertEquals(message, 1, listUuid.size());
|
198
|
Assert.assertTrue(listUuid.contains(node2.getUuid()));
|
199
|
|
200
|
filter = new TaxonNodeFilter(Rank.VARIETY(), Rank.SPECIES());
|
201
|
listUuid = filterDao.listUuids(filter);
|
202
|
assertEquals(message, 3, listUuid.size());
|
203
|
Assert.assertTrue(listUuid.contains(node3.getUuid()));
|
204
|
Assert.assertTrue(listUuid.contains(node4.getUuid()));
|
205
|
Assert.assertTrue(listUuid.contains(node5.getUuid()));
|
206
|
|
207
|
filter = new TaxonNodeFilter(Rank.KINGDOM(), Rank.ORDER());
|
208
|
listUuid = filterDao.listUuids(filter);
|
209
|
assertEquals(message, 0, listUuid.size());
|
210
|
|
211
|
//reset
|
212
|
Rank nullRank = null;
|
213
|
filter.setRankMax(nullRank).setRankMin(nullRank);
|
214
|
listUuid = filterDao.listUuids(filter);
|
215
|
assertEquals("Reseting the rank filters should work", 5, listUuid.size());
|
216
|
|
217
|
filter = new TaxonNodeFilter(Rank.KINGDOM(), Rank.ORDER());
|
218
|
UUID nullUuid = null;
|
219
|
filter.setRankMax(nullUuid).setRankMin(nullUuid);
|
220
|
listUuid = filterDao.listUuids(filter);
|
221
|
assertEquals("Reseting the rank filters should work", 5, listUuid.size());
|
222
|
}
|
223
|
|
224
|
@Test
|
225
|
public void testListUuidsBySubtree() {
|
226
|
Classification classification = classificationDao.findByUuid(classification1.getUuid());
|
227
|
TaxonNodeFilter filter = new TaxonNodeFilter(node1);
|
228
|
List<UUID> listUuid = filterDao.listUuids(filter);
|
229
|
// List<TaxonNode> children = taxonNodeDao.listChildrenOf(node1, null, null, null, true);
|
230
|
Assert.assertEquals("All 4 children should be returned", 4, listUuid.size());
|
231
|
Assert.assertTrue(listUuid.contains(node4.getUuid()));
|
232
|
Assert.assertFalse(listUuid.contains(node2.getUuid()));
|
233
|
Assert.assertFalse(listUuid.contains(classification.getRootNode().getUuid()));
|
234
|
|
235
|
filter = new TaxonNodeFilter(classification.getRootNode());
|
236
|
listUuid = filterDao.listUuids(filter);
|
237
|
Assert.assertEquals("All 5 children but not root node should be returned", 5, listUuid.size());
|
238
|
|
239
|
filter.setIncludeRootNodes(true);
|
240
|
listUuid = filterDao.listUuids(filter);
|
241
|
Assert.assertEquals("All 6 children including root node should be returned", 6, listUuid.size());
|
242
|
|
243
|
filter = new TaxonNodeFilter(node3);
|
244
|
listUuid = filterDao.listUuids(filter);
|
245
|
Assert.assertEquals("All 3 children should be returned", 3, listUuid.size());
|
246
|
|
247
|
filter.orSubtree(node2);
|
248
|
listUuid = filterDao.listUuids(filter);
|
249
|
Assert.assertEquals("All 3 children and node 2 should be returned", 4, listUuid.size());
|
250
|
Assert.assertTrue(listUuid.contains(node2.getUuid()));
|
251
|
|
252
|
filter = new TaxonNodeFilter(node1).notSubtree(node4);
|
253
|
listUuid = filterDao.listUuids(filter);
|
254
|
Assert.assertEquals("Node and 2 children but not node4 should be returned", 3, listUuid.size());
|
255
|
Assert.assertFalse(listUuid.contains(node4.getUuid()));
|
256
|
|
257
|
//uuids
|
258
|
filter = TaxonNodeFilter.NewSubtreeInstance(node3.getUuid());
|
259
|
listUuid = filterDao.listUuids(filter);
|
260
|
Assert.assertEquals("All 3 children should be returned", 3, listUuid.size());
|
261
|
|
262
|
|
263
|
filter = TaxonNodeFilter.NewSubtreeInstance(taxon1.getUuid());
|
264
|
listUuid = filterDao.listUuids(filter);
|
265
|
Assert.assertEquals("A NON subtree uuid should not return a result", 0, listUuid.size());
|
266
|
|
267
|
}
|
268
|
|
269
|
@Test
|
270
|
public void testIncludeUnpublished(){
|
271
|
Classification classification = classificationDao.findByUuid(classification1.getUuid());
|
272
|
TaxonNodeFilter filter = new TaxonNodeFilter(classification.getRootNode());
|
273
|
List<UUID> listUuid = filterDao.listUuids(filter);
|
274
|
Assert.assertEquals("All 5 children but not root node should be returned", 5, listUuid.size());
|
275
|
|
276
|
filter.setIncludeUnpublished(true);
|
277
|
listUuid = filterDao.listUuids(filter);
|
278
|
Assert.assertEquals("All 6 children including unpublished should be returned", 6, listUuid.size());
|
279
|
|
280
|
|
281
|
filter.setIncludeRootNodes(true);
|
282
|
listUuid = filterDao.listUuids(filter);
|
283
|
Assert.assertEquals("All 7 children including root node should be returned", 7, listUuid.size());
|
284
|
|
285
|
}
|
286
|
|
287
|
@Test
|
288
|
public void testListUuidsByClassification() {
|
289
|
Classification classification = classificationDao.findByUuid(classification1.getUuid());
|
290
|
|
291
|
TaxonNodeFilter filter;
|
292
|
List<UUID> listUuid;
|
293
|
|
294
|
filter = new TaxonNodeFilter(classification);
|
295
|
listUuid = filterDao.listUuids(filter);
|
296
|
Assert.assertEquals("All 5 children but not root node should be returned", 5, listUuid.size());
|
297
|
|
298
|
filter.setIncludeRootNodes(true);
|
299
|
listUuid = filterDao.listUuids(filter);
|
300
|
Assert.assertEquals("All 6 children including root node should be returned", 6, listUuid.size());
|
301
|
|
302
|
filter = TaxonNodeFilter.NewClassificationInstance(classification.getUuid())
|
303
|
.setIncludeRootNodes(true);
|
304
|
listUuid = filterDao.listUuids(filter);
|
305
|
Assert.assertEquals("All 6 children should be returned", 6, listUuid.size());
|
306
|
|
307
|
filter = TaxonNodeFilter.NewClassificationInstance(taxon1.getUuid());
|
308
|
listUuid = filterDao.listUuids(filter);
|
309
|
Assert.assertEquals("A NON classification uuid should not return a result", 0, listUuid.size());
|
310
|
|
311
|
}
|
312
|
|
313
|
@Test
|
314
|
public void testListUuidsByTaxon() {
|
315
|
|
316
|
TaxonNodeFilter filter;
|
317
|
List<UUID> listUuid;
|
318
|
|
319
|
filter = TaxonNodeFilter.NewTaxonInstance(taxon1);
|
320
|
listUuid = filterDao.listUuids(filter);
|
321
|
Assert.assertEquals("The 1 taxon should be returned", 1, listUuid.size());
|
322
|
|
323
|
filter = TaxonNodeFilter.NewTaxonInstance(taxon1.getUuid());
|
324
|
listUuid = filterDao.listUuids(filter);
|
325
|
Assert.assertEquals("The 1 taxon should be returned", 1, listUuid.size());
|
326
|
|
327
|
filter = TaxonNodeFilter.NewTaxonInstance(taxon1.getUuid()).orTaxon(taxon2.getUuid());
|
328
|
listUuid = filterDao.listUuids(filter);
|
329
|
Assert.assertEquals("The 2 taxa should be returned", 2, listUuid.size());
|
330
|
|
331
|
filter = TaxonNodeFilter.NewTaxonInstance(node1.getUuid());
|
332
|
listUuid = filterDao.listUuids(filter);
|
333
|
Assert.assertEquals("A NON taxon uuid should not return a result", 0, listUuid.size());
|
334
|
}
|
335
|
|
336
|
@Test
|
337
|
public void testListUuidsByTaxonNode() {
|
338
|
|
339
|
TaxonNodeFilter filter;
|
340
|
List<UUID> listUuid;
|
341
|
|
342
|
filter = TaxonNodeFilter.NewTaxonNodeInstance(node1);
|
343
|
listUuid = filterDao.listUuids(filter);
|
344
|
Assert.assertEquals("The 1 taxon should be returned", 1, listUuid.size());
|
345
|
|
346
|
filter = TaxonNodeFilter.NewTaxonNodeInstance(node1.getUuid());
|
347
|
listUuid = filterDao.listUuids(filter);
|
348
|
Assert.assertEquals("The 1 nodes should be returned", 1, listUuid.size());
|
349
|
|
350
|
filter = TaxonNodeFilter.NewTaxonNodeInstance(node1.getUuid())
|
351
|
.orTaxonNode(node2.getUuid());
|
352
|
listUuid = filterDao.listUuids(filter);
|
353
|
Assert.assertEquals("The 2 nodes should be returned", 2, listUuid.size());
|
354
|
|
355
|
filter = TaxonNodeFilter.NewTaxonNodeInstance(taxon1.getUuid());
|
356
|
listUuid = filterDao.listUuids(filter);
|
357
|
Assert.assertEquals("A NON taxon node uuid should not return a result", 0, listUuid.size());
|
358
|
|
359
|
}
|
360
|
|
361
|
@Test
|
362
|
public void testListUuidsCombined() {
|
363
|
Classification classification = classificationDao.findByUuid(classification1.getUuid());
|
364
|
TaxonNodeFilter filter = new TaxonNodeFilter(node1);
|
365
|
List<UUID> listUuid = filterDao.listUuids(filter);
|
366
|
Assert.assertEquals("All 4 children should be returned", 4, listUuid.size());
|
367
|
|
368
|
filter.orClassification(classification.getUuid());
|
369
|
listUuid = filterDao.listUuids(filter);
|
370
|
Assert.assertEquals("Still 4 children should be returned", 4, listUuid.size());
|
371
|
|
372
|
filter.orTaxon(taxon3).orTaxon(taxon4);
|
373
|
listUuid = filterDao.listUuids(filter);
|
374
|
Assert.assertEquals("The 2 children should be returned", 2, listUuid.size());
|
375
|
|
376
|
filter.orTaxonNode(node3.getUuid());
|
377
|
listUuid = filterDao.listUuids(filter);
|
378
|
Assert.assertEquals("1 node should remain", 1, listUuid.size());
|
379
|
|
380
|
//New
|
381
|
filter = new TaxonNodeFilter(node1); //4 children, see above
|
382
|
filter.orClassification(classification.getUuid());//4 children, see above
|
383
|
|
384
|
filter.setRankMax(Rank.uuidSpecies);
|
385
|
listUuid = filterDao.listUuids(filter);
|
386
|
Assert.assertEquals("3 children should be returned", 3, listUuid.size());
|
387
|
|
388
|
filter.setRankMin(Rank.uuidSpecies);
|
389
|
listUuid = filterDao.listUuids(filter);
|
390
|
Assert.assertEquals("Only species should be returned", 1, listUuid.size());
|
391
|
|
392
|
Rank nullRank = null;
|
393
|
filter.setRankMin(nullRank);
|
394
|
filter.setIncludeUnpublished(true);
|
395
|
listUuid = filterDao.listUuids(filter);
|
396
|
Assert.assertEquals("4 children should be returned, including unpublished", 4, listUuid.size());
|
397
|
|
398
|
NamedArea germany = HibernateProxyHelper.deproxy(termDao.load(germanyUuid), NamedArea.class);
|
399
|
filter.orArea(germany);
|
400
|
listUuid = filterDao.listUuids(filter);
|
401
|
Assert.assertEquals("1 child should be returned", 1, listUuid.size());
|
402
|
}
|
403
|
|
404
|
@Test
|
405
|
public void testCountBySubtree() {
|
406
|
Classification classification = classificationDao.findByUuid(classification1.getUuid());
|
407
|
TaxonNodeFilter filter = new TaxonNodeFilter(node1);
|
408
|
long n = filterDao.count(filter);
|
409
|
Assert.assertEquals("All 4 children should be returned", 4, n);
|
410
|
|
411
|
filter = new TaxonNodeFilter(classification.getRootNode());
|
412
|
n = filterDao.count(filter);
|
413
|
Assert.assertEquals("All 5 children but not root node should be returned", 5, n);
|
414
|
|
415
|
filter.setIncludeRootNodes(true);
|
416
|
n = filterDao.count(filter);
|
417
|
Assert.assertEquals("All 6 children including root node should be returned", 6, n);
|
418
|
|
419
|
}
|
420
|
|
421
|
|
422
|
|
423
|
@Override
|
424
|
public void createTestDataSet() throws FileNotFoundException {}
|
425
|
|
426
|
}
|