package net.olemartin.repository; import net.olemartin.domain.*; import net.olemartin.spring.Bootstrap; import org.junit.Test; import org.junit.runner.RunWith; import org.neo4j.helpers.collection.Iterables; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import java.util.ArrayList; import java.util.List; import static org.hamcrest.CoreMatchers.equalTo; import static org.junit.Assert.assertThat; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes = Bootstrap.class) @ActiveProfiles("test") @DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD) public class RepositoriesTest { @Autowired private MatchRepository matchRepository; @Autowired private PlayerRepository playerRepository; @Autowired private PersonRepository personRepository; @Autowired private TournamentRepository tournamentRepository; @Test public void testBottomLine() { assertThat(matchRepository.count(), equalTo(0L)); } @Test public void testOnePlayer() { Player player = new Player("Ole-Martin"); playerRepository.save(player); assertThat(playerRepository.count(), equalTo(1L)); } @Test public void testOnePerson() { Person person = new Person("Ole-Martin"); personRepository.save(person); assertThat(personRepository.count(), equalTo(1L)); } @Test public void testOneTournament() { Tournament tournament = new Tournament("Ole-Martin"); tournamentRepository.save(tournament); assertThat(tournamentRepository.count(), equalTo(1L)); } @Test public void testOneMatchWithPlayers() { Player white = new Player("Line"); Player black = new Player("Ole-Martin"); white = playerRepository.save(white); black = playerRepository.save(black); Match match = new Match(white, black); match.reportResult(Result.WHITE); matchRepository.save(match, 1); Iterable<Player> players = playerRepository.findAll(); List<Player> list = new ArrayList<>(); Iterables.addAll(list, players); assertThat(matchRepository.count(), equalTo(1L)); assertThat(list.size(), equalTo(2)); players.forEach(System.out::println); } }