/** * Test {@link FileUtilities#generateSaveSetContent(SaveSetData)} and {@link * FileUtilities#readFromSaveSet(java.io.InputStream)}. * * @throws IOException */ @Test public void testSaveSetData() throws IOException { SaveSet set = new SaveSet( new Branch(), Optional.empty(), new String[] {"first", "second", "third"}, "someId"); SaveSetData bsd = new SaveSetData( set, Arrays.asList( new SaveSetEntry("pv1", "rb1", "d1", true), new SaveSetEntry("pv2", "rb2", "Math.pow(x,3)", false)), "some description"); String content = FileUtilities.generateSaveSetContent(bsd); assertEquals( "# Description:\n# some description\n#\nPV,READBACK,DELTA,READ_ONLY\npv1,rb1,d1,true\npv2,rb2,\"Math.pow(x,3)\",false\n", content); SaveSetContent bsc = FileUtilities.readFromSaveSet( new ByteArrayInputStream(content.getBytes(StandardCharsets.UTF_8))); assertEquals("some description", bsc.getDescription()); List<SaveSetEntry> entries = bsc.getEntries(); assertArrayEquals( new String[] {"pv1", "pv2"}, entries.stream().map(e -> e.getPVName()).toArray(String[]::new)); assertArrayEquals( new String[] {"rb1", "rb2"}, entries.stream().map(e -> e.getReadback()).toArray(String[]::new)); assertArrayEquals( new String[] {"d1", "Math.pow(x,3)"}, entries.stream().map(e -> e.getDelta()).toArray(String[]::new)); assertArrayEquals( new Boolean[] {true, false}, entries.stream().map(e -> e.isReadOnly()).toArray(Boolean[]::new)); }