### Question:
ZkLayoutManager implements LayoutManager { @Override public void storeLedgerLayout(LedgerLayout layout) throws IOException { try { zk.create(ledgersLayout, layout.serialize(), acls, CreateMode.PERSISTENT); } catch (NodeExistsException e) { throw new LedgerLayoutExistsException(e); } catch (KeeperException e) { throw new IOException(e); } catch (InterruptedException e) { Thread.currentThread().interrupt(); throw new IOException(e); } } ZkLayoutManager(ZooKeeper zk,
                           String ledgersRoot,
                           List<ACL> acls); @VisibleForTesting ZooKeeper getZk(); @Override LedgerLayout readLedgerLayout(); @Override void storeLedgerLayout(LedgerLayout layout); @Override void deleteLedgerLayout();  }### Answer:
@Test public void testStoreLayout() throws Exception { zkLayoutManager.storeLedgerLayout(layout); verify(zk, times(1)) .create(eq(layoutPath), eq(layout.serialize()), eq(Ids.OPEN_ACL_UNSAFE), eq(CreateMode.PERSISTENT)); }