@Test
 public void testCurrency() throws Exception {
   CurrencyDao dao = new CurrencyDao(Tests.getDb());
   Currency currency = createModel(dao);
   doExport(currency, dao);
   doImport(dao, currency);
   dao.delete(currency);
 }
 private void doExport(Currency currency, CurrencyDao dao) {
   with(
       zip -> {
         JsonExport export = new JsonExport(Tests.getDb(), zip);
         export.write(currency);
       });
   dao.delete(currency);
   Assert.assertFalse(dao.contains(currency.getRefId()));
 }
 private void doImport(CurrencyDao dao, Currency currency) {
   with(
       zip -> {
         JsonImport jImport = new JsonImport(zip, Tests.getDb());
         jImport.run();
       });
   Assert.assertTrue(dao.contains(currency.getRefId()));
   Currency clone = dao.getForRefId(currency.getRefId());
   Assert.assertEquals(currency.getName(), clone.getName());
 }
 private Currency createModel(CurrencyDao dao) {
   Currency currency = new Currency();
   currency.setName("currency");
   currency.setRefId(UUID.randomUUID().toString());
   dao.insert(currency);
   return currency;
 }