test_class.file: csv-res-filter/src/test/java/com/ibm/g11n/pipeline/resfilter/csv/TestCSVFilter.java
test_class.identifier: TestCSVFilter
test_case.body: @Test
      public void testWrite() {
          TestResourceStringData[] testData = {
                  new TestResourceStringData("minestrone", "Minestrone", 2),
                  new TestResourceStringData("pizza", "Pizza", 3),
                  new TestResourceStringData("spaghetti", "Spaghetti", 1)
          };
  
          String[] expectedLines = {
                  "key,value",
                  "spaghetti,Spaghetti",
                  "minestrone,Minestrone",
                  "pizza,Pizza"
          };
  
          LanguageBundle bundle = TestUtils.createLanguageBundle(testData);
          ResourceFilter filter = ResourceFilterFactory.getResourceFilter(CSVFilter.ID);
          try (ByteArrayOutputStream outStream = new ByteArrayOutputStream()) {
              filter.write(outStream, bundle, new FilterOptions(Locale.ENGLISH));
              TestUtils.compareLines(expectedLines, outStream.toByteArray());
          } catch (IOException e) {
              fail(e.getMessage());
          } catch (ResourceFilterException e) {
              fail(e.getMessage());
          }
      }
test_case.class_method_signature: TestCSVFilter.testWrite()
test_case.full_signature: @Test public void testWrite()
test_case.identifier: testWrite
test_case.invocations: createLanguageBundle getResourceFilter write compareLines toByteArray fail getMessage fail getMessage
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testWrite()
focal_class.declarator: ID = "CSV"
focal_class.modifier: public static final
focal_class.original_string: public static final String ID = "CSV";
focal_class.type: String
focal_class.var_name: ID
focal_class.declarator: TYPE = Type.SINGLE
focal_class.modifier: public static final
focal_class.original_string: public static final Type TYPE = Type.SINGLE;
focal_class.type: Type
focal_class.var_name: TYPE
focal_class.file: csv-res-filter/src/main/java/com/ibm/g11n/pipeline/resfilter/csv/CSVFilter.java
focal_class.identifier: CSVFilter
focal_class.class_method_signature: CSVFilter.parse(InputStream inStream, FilterOptions options)
focal_class.full_signature: @Override public LanguageBundle parse(InputStream inStream, FilterOptions options)
focal_class.identifier: parse
focal_class.modifiers: @Override public
focal_class.parameters: (InputStream inStream, FilterOptions options)
focal_class.return: LanguageBundle
focal_class.signature: LanguageBundle parse(InputStream inStream, FilterOptions options)
focal_class.class_method_signature: CSVFilter.write(OutputStream outStream, LanguageBundle languageBundle, FilterOptions options)
focal_class.full_signature: @Override public void write(OutputStream outStream, LanguageBundle languageBundle, FilterOptions options)
focal_class.identifier: write
focal_class.modifiers: @Override public
focal_class.parameters: (OutputStream outStream, LanguageBundle languageBundle, FilterOptions options)
focal_class.return: void
focal_class.signature: void write(OutputStream outStream, LanguageBundle languageBundle, FilterOptions options)
focal_class.class_method_signature: CSVFilter.merge(InputStream baseStream, OutputStream outStream, LanguageBundle languageBundle,
              FilterOptions options)
focal_class.full_signature: @Override public void merge(InputStream baseStream, OutputStream outStream, LanguageBundle languageBundle,
              FilterOptions options)
focal_class.identifier: merge
focal_class.modifiers: @Override public
focal_class.parameters: (InputStream baseStream, OutputStream outStream, LanguageBundle languageBundle,
              FilterOptions options)
focal_class.return: void
focal_class.signature: void merge(InputStream baseStream, OutputStream outStream, LanguageBundle languageBundle,
              FilterOptions options)
focal_class.superclass: extends ResourceFilter
focal_method.body: @Override
      public void write(OutputStream outStream, LanguageBundle languageBundle, FilterOptions options)
              throws IOException, ResourceFilterException {
          BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(outStream, StandardCharsets.UTF_8));
          CSVPrinter printer = CSVFormat.RFC4180.withHeader("key", "value").print(writer);
          for (ResourceString resString : languageBundle.getSortedResourceStrings()) {
              printer.printRecord(resString.getKey(), resString.getValue());
          }
          printer.flush();
      }
focal_method.class_method_signature: CSVFilter.write(OutputStream outStream, LanguageBundle languageBundle, FilterOptions options)
focal_method.full_signature: @Override public void write(OutputStream outStream, LanguageBundle languageBundle, FilterOptions options)
focal_method.identifier: write
focal_method.invocations: print withHeader getSortedResourceStrings printRecord getKey getValue flush
focal_method.modifiers: @Override public
focal_method.parameters: (OutputStream outStream, LanguageBundle languageBundle, FilterOptions options)
focal_method.return: void
focal_method.signature: void write(OutputStream outStream, LanguageBundle languageBundle, FilterOptions options)