@Override
  public String toString() {
    return "XmlRowAdapter{" + "record=" + record + '}';
  }
@Test
  public void nullableAllPrimitiveDataTypes()
      throws XPathExpressionException, JAXBException, IOException, SAXException,
          ParserConfigurationException {
    for (Row row : DATA.nullableAllPrimitiveDataTypesRows) {
      NodeList entries = xmlDocumentEntries(row);
      assertEquals(
          NULLABLE_ALL_PRIMITIVE_DATA_TYPES_SCHEMA.getFieldNames().size(), entries.getLength());
      Map<String, Node> actualMap = keyValues("nullableAllPrimitiveDataTypes", entries);
      assertEquals(
          new HashSet<>(NULLABLE_ALL_PRIMITIVE_DATA_TYPES_SCHEMA.getFieldNames()),
          actualMap.keySet());
      for (Entry<String, Node> actualKV : actualMap.entrySet()) {
        String key = actualKV.getKey();
        Node node = actualKV.getValue();
        String actual = node.getTextContent();
        String expected = "";
        Optional<Object> safeExpected = Optional.ofNullable(row.getValue(key));
        if (safeExpected.isPresent()) {
          expected = safeExpected.get().toString();
        }
        assertEquals(expected, actual);
      }
    }
  }