/** * this is a simple test that puts 2 features in the objectDatabase then retrieves them. It * checks the correlation is correct. */ @Test public void testBulkGet() { ObjectDatabase odb = mock(ObjectDatabase.class); RevFeature f1 = mock(RevFeature.class); when(f1.getId()).thenReturn(getOID(1)); RevFeature f2 = mock(RevFeature.class); when(f2.getId()).thenReturn(getOID(2)); when(odb.getAll(anyObject(), anyObject(), anyObject())) .thenReturn((Arrays.asList((RevObject) f1, (RevObject) f2)).iterator()); BulkObjectDatabaseFeatureRetriever bulk = new BulkObjectDatabaseFeatureRetriever(odb); ObjectId metadataid = getOID(4); Node n1 = Node.create("name1", getOID(1), metadataid, TYPE.FEATURE, new Envelope()); NodeRef nr1 = new NodeRef(n1, "testcase", metadataid); Node n2 = Node.create("name2", getOID(2), metadataid, TYPE.FEATURE, new Envelope()); NodeRef nr2 = new NodeRef(n2, "testcase", metadataid); Iterator<FeatureInfo> it = bulk.apply(Arrays.asList(nr1, nr2)); List<FeatureInfo> feats = Arrays.asList(it.next(), it.next()); Assert.isTrue(feats.get(0).getFeatureTypeId() == metadataid); Assert.isTrue(feats.get(0).getName() .equals("name1")); Assert.equals(feats.get(0).getFeature().getId(), getOID(1)); Assert.isTrue(feats.get(1).getFeatureTypeId() == metadataid); Assert.isTrue(feats.get(1).getName() .equals( "name2")); Assert.equals(feats.get(1).getFeature().getId(), getOID(2)); }
@Test public void testIdenticalFeatureData() { ObjectDatabase odb = mock(ObjectDatabase.class); RevFeature f1 = mock(RevFeature.class); when(f1.getId()).thenReturn(getOID(1)); when(odb.getAll(anyObject(), anyObject(), anyObject())) .thenReturn((Arrays.asList((RevObject) f1 )).iterator()); BulkObjectDatabaseFeatureRetriever bulk = new BulkObjectDatabaseFeatureRetriever(odb); ObjectId metadataid = getOID(4); Node n1 = Node.create("name1", getOID(1), metadataid, TYPE.FEATURE, new Envelope()); NodeRef nr1 = new NodeRef(n1, "testcase", metadataid); Node n2 = Node.create("name2", getOID(1), metadataid, TYPE.FEATURE, new Envelope()); NodeRef nr2 = new NodeRef(n2, "testcase", metadataid); Iterator<FeatureInfo> it = bulk.apply(Arrays.asList(nr1, nr2)); List<FeatureInfo> feats = Lists.newArrayList(it); Assert.isTrue(feats.size() == 2); Assert.isTrue(feats.get(0).getFeatureTypeId() == metadataid); Assert.isTrue(feats.get(0).getName() .equals("name1")); Assert.equals(feats.get(0).getFeature().getId(), getOID(1)); Assert.isTrue(feats.get(1).getFeatureTypeId() == metadataid); Assert.isTrue(feats.get(1).getName() .equals( "name2")); Assert.equals(feats.get(1).getFeature().getId(), getOID(1)); }