### Question:
BidOrderServiceImpl implements OrderService<BidOrder, ColoredCoinsBidOrderPlacement> { @Override public void addOrder(Transaction transaction, ColoredCoinsBidOrderPlacement attachment) { final BidOrder order = new BidOrder(transaction, attachment, blockchain.getHeight()); log.trace(">> addOrder() bidOrder={}", order); bidOrderTable.insert(order); } BidOrderServiceImpl(
        final DatabaseManager databaseManager,
        final BidOrderTable bidOrderTable,
        final Blockchain blockchain,
        final IteratorToStreamConverter<BidOrder> converter
    ); @Inject  BidOrderServiceImpl(
        final DatabaseManager databaseManager,
        final BidOrderTable bidOrderTable,
        final Blockchain blockchain
    ); @Override int getCount(); @Override BidOrder getOrder(long orderId); @Override Stream<BidOrder> getAll(int from, int to); @Override Stream<BidOrder> getOrdersByAccount(long accountId, int from, int to); @Override Stream<BidOrder> getOrdersByAccountAsset(final long accountId, final long assetId, int from, int to); @Override Stream<BidOrder> getSortedOrders(long assetId, int from, int to); @Override BidOrder getNextOrder(long assetId); @Override void addOrder(Transaction transaction, ColoredCoinsBidOrderPlacement attachment); @Override void removeOrder(long orderId); @Override void updateQuantityATU(long quantityATU, BidOrder orderBid);  }### Answer:
@Test void shouldAddOrder() { final Transaction transaction = mock(Transaction.class); final ColoredCoinsBidOrderPlacement attachment = mock(ColoredCoinsBidOrderPlacement.class); final long txId = 10L; when(transaction.getId()).thenReturn(txId); final int height = 1040; when(blockchain.getHeight()).thenReturn(height); final BidOrder order = new BidOrder(transaction, attachment, blockchain.getHeight()); orderService.addOrder(transaction, attachment); verify(bidOrderTable).insert(eq(order)); }