### Question:
Lottery { public void setTicketStateAfterSubscriptionCancelled(MainTicket mainTicket) { ZonedDateTime lastDrawing = calculateEndingDateForCancelledPermaTicket(mainTicket); mainTicket.setPermaTicket(false); mainTicket.setEndingDate(lastDrawing); datastore.update( datastore.createQuery(MainTicket.class).field("_id").equal(mainTicket.getId()), datastore.createUpdateOperations(MainTicket.class) .set("endingDate", lastDrawing).set("permaTicket", false) ); }  abstract ZonedDateTime getNextClosingDate(); abstract ZonedDateTime getNextDrawing(ZonedDateTime current, DrawingType drawingType); abstract List<String> getPossibleAdditionalLotteries(); abstract String getIdentifier(); abstract Ticket createNewEmbeddedTicket(MainTicket parentTicket, String newAdditionalLotteries); abstract WinCalculator getWinCalculator(); void setTicketStateAfterSubscriptionCancelled(MainTicket mainTicket); ZonedDateTime getDateTimeNow(); DateTimeService getDateTimeService(); abstract Jackpot getCurrentJackpot();  }### Answer:
@Test public void setTicketStateAfterSubscriptionCancelled() throws Exception { }