@Test public void testOutputFormat() throws JSONException, DataSinkException { VehicleMessage measurement = new SimpleVehicleMessage(measurementId, value); sink.receive(measurement); sink.flush(); JSONObject message; message = new JSONObject(outputString.toString()); assertTrue(message.getString("name").equals(measurementId)); assertTrue(message.getString("value").equals(value)); }
@Test public void testReceiveValueOnly() throws DataSinkException { assertTrue(outputString.toString().indexOf(measurementId) == -1); sink.receive(new SimpleVehicleMessage(measurementId, value)); sink.flush(); assertTrue(outputString.toString().indexOf(measurementId) != -1); assertTrue(outputString.toString().indexOf(value) != -1); }
@Test public void testCounts() throws JSONException, DataSinkException { VehicleMessage measurement = new SimpleVehicleMessage("first", true); sink.receive(measurement); measurement = new SimpleVehicleMessage("first", false); sink.receive(measurement); measurement = new SimpleVehicleMessage("second", true); sink.receive(measurement); measurement = new SimpleVehicleMessage("second", true); sink.receive(measurement); sink.flush(); String[] records = outputString.toString().split("\n"); assertEquals(4, records.length); assertTrue(records[0].indexOf("first") != -1); assertTrue(records[1].indexOf("first") != -1); assertTrue(records[2].indexOf("second") != -1); assertTrue(records[3].indexOf("second") != -1); }
@Test public void testStop() throws DataSinkException { VehicleMessage measurement = new SimpleVehicleMessage("first", true); sink.receive(measurement); measurement = new SimpleVehicleMessage("second", false); sink.receive(measurement); sink.stop(); measurement = new SimpleVehicleMessage("third", true); try { sink.receive(measurement); fail("Expected a DataSinkException"); } catch(DataSinkException e) { } String[] records = outputString.toString().split("\n"); assertEquals(2, records.length); assertTrue(records[0].indexOf("first") != -1); assertTrue(records[1].indexOf("second") != -1); }