use of com.iluwatar.hexagonal.domain.LotteryTicket in project java-design-patterns by iluwatar.
the class InMemoryTicketRepositoryTest method testCrudOperations.
@Test
public void testCrudOperations() {
LotteryTicketRepository repository = new InMemoryTicketRepository();
assertEquals(repository.findAll().size(), 0);
LotteryTicket ticket = LotteryTestUtils.createLotteryTicket();
Optional<LotteryTicketId> id = repository.save(ticket);
assertTrue(id.isPresent());
assertEquals(repository.findAll().size(), 1);
Optional<LotteryTicket> optionalTicket = repository.findById(id.get());
assertTrue(optionalTicket.isPresent());
}
use of com.iluwatar.hexagonal.domain.LotteryTicket in project java-design-patterns by iluwatar.
the class MongoTicketRepositoryTest method testCrudOperations.
@Test
public void testCrudOperations() {
// create new lottery ticket and save it
PlayerDetails details = new PlayerDetails("foo@bar.com", "123-123", "07001234");
LotteryNumbers random = LotteryNumbers.createRandom();
LotteryTicket original = new LotteryTicket(new LotteryTicketId(), details, random);
Optional<LotteryTicketId> saved = repository.save(original);
assertEquals(1, repository.getTicketsCollection().count());
assertTrue(saved.isPresent());
// fetch the saved lottery ticket from database and check its contents
Optional<LotteryTicket> found = repository.findById(saved.get());
assertTrue(found.isPresent());
LotteryTicket ticket = found.get();
assertEquals("foo@bar.com", ticket.getPlayerDetails().getEmail());
assertEquals("123-123", ticket.getPlayerDetails().getBankAccount());
assertEquals("07001234", ticket.getPlayerDetails().getPhoneNumber());
assertEquals(original.getNumbers(), ticket.getNumbers());
// clear the collection
repository.deleteAll();
assertEquals(0, repository.getTicketsCollection().count());
}
use of com.iluwatar.hexagonal.domain.LotteryTicket in project java-design-patterns by iluwatar.
the class LotteryTestUtils method createLotteryTicket.
/**
* @return lottery ticket
*/
public static LotteryTicket createLotteryTicket(String email, String account, String phone, Set<Integer> givenNumbers) {
PlayerDetails details = new PlayerDetails(email, account, phone);
LotteryNumbers numbers = LotteryNumbers.create(givenNumbers);
return new LotteryTicket(new LotteryTicketId(), details, numbers);
}
Aggregations