DnaPlotLibUtils { public static List<String> getPartsInformation( final Netlist netlist, final TargetDataInstance tdi) throws CelloException { final List<String> rtn = new ArrayList<>(); rtn.add(DnaPlotLibUtils.S_PARTS_HEADER); rtn.add(DnaPlotLibUtils.getGroupPadding()); final Placements placements = netlist.getResultNetlistData().getPlacements(); for (int i = 0; i < placements.getNumPlacement(); i++) { final Placement placement = placements.getPlacementAtIdx(i); rtn.addAll(DnaPlotLibUtils.getPlacementPartsInformation(placement, netlist, tdi).values()); } return rtn; }  static void writeCSV(final Collection<String> records, final File file); static String getRgb(final Color color); static String getPartType(final String type); static List<String> getDnaDesigns(final Netlist netlist, final TargetDataInstance tdi); static List<String> getPartsInformation(
      final Netlist netlist, final TargetDataInstance tdi); static List<String> getRegulatoryInformation(
      final Netlist netlist, final TargetDataInstance tdi);  }
@Test public void getPartsInformation_MockNetlist_ShouldReturn20Parts() throws CelloException { final List<String> parts = DnaPlotLibUtils.getPartsInformation(DnaPlotLibUtilsTest.netlist, DnaPlotLibUtilsTest.tdi); assert parts.size() == 20; }
@Test public void getPartsInformation_MockNetlist_ShouldReturnExactMatch() throws CelloException { final List<String> parts = DnaPlotLibUtils.getPartsInformation(DnaPlotLibUtilsTest.netlist, DnaPlotLibUtilsTest.tdi); assert parts.contains("YFP_cassette,UserDefined,25,5,,,0.00;0.00;0.00,,,,,"); }