@Nonnull public static UniformityMeasurements createMeasurements (final @Nonnull String displayName, final @Nonnull Random r) { final DateTime dateTime = new DateTime((40L * 365 * 24 * 60 * 60 + r.nextLong() % (365L * 24 * 60 * 60)) * 1000); final SortedMap<Position, UniformityMeasurement> m = new TreeMap<Position, UniformityMeasurement>(); m.put(xy(0, 0), new UniformityMeasurement(randomTemperature(r), randomLuminance(r))); m.put(xy(1, 0), new UniformityMeasurement(randomTemperature(r), randomLuminance(r))); m.put(xy(2, 0), new UniformityMeasurement(randomTemperature(r), randomLuminance(r))); m.put(xy(0, 1), new UniformityMeasurement(randomTemperature(r), randomLuminance(r))); m.put(xy(1, 1), new UniformityMeasurement(randomTemperature(r), randomLuminance(r))); m.put(xy(2, 1), new UniformityMeasurement(randomTemperature(r), randomLuminance(r))); m.put(xy(0, 2), new UniformityMeasurement(randomTemperature(r), randomLuminance(r))); m.put(xy(1, 2), new UniformityMeasurement(randomTemperature(r), randomLuminance(r))); m.put(xy(2, 2), new UniformityMeasurement(randomTemperature(r), randomLuminance(r))); return new UniformityMeasurements(new ProfiledDisplay(new Display(displayName, 0), "profile"), dateTime, m); }
@Test(dataProvider="testCaseProvider") public void must_properly_marshall (final long seed, final @Nonnull String expectedValue) throws IOException { final Random r = new Random(seed); final UniformityMeasurements measurements = FakeUniformityMeasurementsGenerator.createMeasurements("display1", r); final UniformityMeasurementsMarshallable fixture = new UniformityMeasurementsMarshallable(measurements); final ByteArrayOutputStream os = new ByteArrayOutputStream(); fixture.marshal(os); os.close(); final String s = new String(os.toByteArray()); assertThat(s, is(expectedValue)); }
@Nonnull public static UniformityMeasurements createMeasurements (final @Nonnull String displayName, final @Nonnull Random r) { final DateTime dateTime = new DateTime((40L * 365 * 24 * 60 * 60 + r.nextLong() % (365L * 24 * 60 * 60)) * 1000); final SortedMap<Position, UniformityMeasurement> m = new TreeMap<Position, UniformityMeasurement>(); m.put(xy(0, 0), new UniformityMeasurement(randomTemperature(r), randomLuminance(r))); m.put(xy(1, 0), new UniformityMeasurement(randomTemperature(r), randomLuminance(r))); m.put(xy(2, 0), new UniformityMeasurement(randomTemperature(r), randomLuminance(r))); m.put(xy(0, 1), new UniformityMeasurement(randomTemperature(r), randomLuminance(r))); m.put(xy(1, 1), new UniformityMeasurement(randomTemperature(r), randomLuminance(r))); m.put(xy(2, 1), new UniformityMeasurement(randomTemperature(r), randomLuminance(r))); m.put(xy(0, 2), new UniformityMeasurement(randomTemperature(r), randomLuminance(r))); m.put(xy(1, 2), new UniformityMeasurement(randomTemperature(r), randomLuminance(r))); m.put(xy(2, 2), new UniformityMeasurement(randomTemperature(r), randomLuminance(r))); return new UniformityMeasurements(new ProfiledDisplay(new Display(displayName, 0), new Profile("profile")), dateTime, m); }
@Test(dataProvider="testCaseProvider") public void must_properly_unmarshall (final long seed, final @Nonnull String marshalledData) throws IOException { final UniformityMeasurementsUnmarshallable fixture = new UniformityMeasurementsUnmarshallable(); final ByteArrayInputStream os = new ByteArrayInputStream(marshalledData.getBytes()); final UniformityMeasurements measurements = fixture.unmarshal(os); os.close(); final Random r = new Random(seed); final UniformityMeasurements expectedMeasurements = FakeUniformityMeasurementsGenerator.createMeasurements("display1", r); assertThat(measurements, is(expectedMeasurements)); }
@Test(dataProvider="testCaseProvider") public void must_properly_unmarshall (final @Nonnegative int size, final long seed) throws FileNotFoundException, IOException { final UniformityArchiveUnmarshallable unmarshallable = new UniformityArchiveUnmarshallable(); final File file = new File("src/test/resources/expected-results/" + seed + ".txt"); final InputStream is = new FileInputStream(file); final UniformityArchive archive = unmarshallable.unmarshal(is); is.close(); final UniformityArchive expectedArchive = new UniformityArchive(); final Random r = new Random(seed); for (int i = 0; i < size; i++) { expectedArchive.add(FakeUniformityMeasurementsGenerator.createMeasurements("display1", r)); } assertThat(archive, is(expectedArchive)); }
@Test(dataProvider="testCaseProvider") public void must_properly_marshall (final @Nonnegative int size, final long seed) throws FileNotFoundException, IOException { final UniformityArchive archive = new UniformityArchive(); final Random r = new Random(seed); for (int i = 0; i < size; i++) { archive.add(FakeUniformityMeasurementsGenerator.createMeasurements("display1", r)); } final UniformityArchiveMarshallable marshallable = new UniformityArchiveMarshallable(archive); final File targetFolder = new File("target/test-artifacts"); final File actualFile = new File(targetFolder, "" + seed + ".txt"); final File expectedFile = new File("src/test/resources/expected-results/" + seed + ".txt"); targetFolder.mkdirs(); final OutputStream os = new FileOutputStream(actualFile); marshallable.marshal(os); os.close(); FileComparisonUtils.assertSameContents(expectedFile, actualFile); }