@Test public void testEquivalent() throws ResourceNotFoundException { Sensor newSensor = Mockito.mock(Sensor.class); Map<String, Object> props = new HashMap<>(); props.put("fuelType", "diesel"); props.put("constructionYear", 2015); props.put("engineDisplacement", 1234); props.put("model", "Dito"); props.put("manufacturer", "Vito"); Mockito.when(newSensor.getProperties()).thenReturn(props); SensorDao dao = createDao(); CarSimilarityServiceImpl service = new CarSimilarityServiceImpl(dao); CarSimilarityServiceImpl serviceMock = Mockito.spy(service); serviceMock.setSimilarityDefinition("/car-similarity-test.json"); Sensor equi = serviceMock.resolveEquivalent(newSensor); Assert.assertThat(equi, Matchers.is(oldSensor)); props.put("manufacturer", "vito mobile "); Sensor similar = serviceMock.resolveEquivalent(newSensor); Assert.assertThat(similar, Matchers.is(oldSensor)); Mockito.verify(serviceMock, Mockito.times(1)) .isManufacturerSimilar(Mockito.any(String.class), Mockito.any(String.class)); }
@Test(expected = ResourceNotFoundException.class) public void testNoMapping() throws ResourceNotFoundException { SensorDao dao = createDao(); CarSimilarityServiceImpl service = new CarSimilarityServiceImpl(dao); service.setSimilarityDefinition("/car-similarity-test.json"); service.resolveMappedSensor("i-am-no-id"); }
@Test public void testStaticMapping() throws ResourceNotFoundException { SensorDao dao = createDao(); CarSimilarityServiceImpl service = new CarSimilarityServiceImpl(dao); service.setSimilarityDefinition("/car-similarity-test.json"); Sensor resolved = service.resolveMappedSensor("51ffab4fe4b058cd3d654007"); Assert.assertThat(resolved, Matchers.is(oldSensor)); }
@Test public void testMappingIdsCollection() { String id = "51ffab4fe4b058cd3d654007"; CarSimilarityServiceImpl service = new CarSimilarityServiceImpl(Mockito.mock(SensorDao.class)); service.setSimilarityDefinition("/car-similarity-test.json"); Collection<String> mapped = service.getMappedSensorIds(); Assert.assertThat(mapped.size(), Matchers.is(1)); Assert.assertThat(mapped.iterator().next(), Matchers.is(id)); }
@Test(expected = ResourceNotFoundException.class) public void testNoEquivalent() throws ResourceNotFoundException { Sensor newSensor = Mockito.mock(Sensor.class); Map<String, Object> props = new HashMap<>(); props.put("fuelType", "diesel"); props.put("constructionYear", 2015); props.put("engineDisplacement", 1234); props.put("model", "Wagon"); props.put("manufacturer", "Odd"); Mockito.when(newSensor.getProperties()).thenReturn(props); SensorDao dao = createDao(); CarSimilarityServiceImpl service = new CarSimilarityServiceImpl(dao); CarSimilarityServiceImpl serviceMock = Mockito.spy(service); serviceMock.setSimilarityDefinition("/car-similarity-test.json"); serviceMock.resolveEquivalent(newSensor); }