package no.niths.domain.battlestation; import static org.hamcrest.CoreMatchers.equalTo; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import java.util.ArrayList; import java.util.List; import java.util.Set; import javax.validation.ConstraintViolation; import javax.validation.Validation; import javax.validation.Validator; import javax.validation.ValidatorFactory; import no.niths.domain.battlestation.Console; import no.niths.domain.battlestation.Game; import no.niths.domain.battlestation.Loan; import no.niths.domain.school.Student; import org.junit.BeforeClass; import org.junit.Test; public class ConsoleTest { private static final String NAME = "Super Mario"; private static Validator validator; @BeforeClass public static void setUp() { ValidatorFactory factory = Validation.buildDefaultValidatorFactory(); validator = factory.getValidator(); } @Test public void testShouldGenerateNewConsole() { Console console = new Console(); console.setName(NAME); assertThat(NAME, is(equalTo(console.getName()))); } @Test public void testValidationOfCorrectConsoleValues() { Console console = new Console(NAME); Set<ConstraintViolation<Console>> constraintViolations = validator .validate(console); assertThat(0, is(equalTo(constraintViolations.size()))); } @Test public void testValidationOfIncorrectConsoleValues() { Console console = new Console("KM "); Set<ConstraintViolation<Console>> constraintViolations = validator .validate(console); constraintViolations = validator.validate(console); assertThat(1, is(equalTo(constraintViolations.size()))); } @Test public void testGettingGameFromConsole() { Game game = new Game(); List<Game> games = new ArrayList<Game>(); games.add(game); Console console = new Console(); console.setGames(games); assertThat(game, is(equalTo(console.getGames().get(0)))); } @Test public void testGettingLoanFromConsole() { Loan loan = new Loan(); Console console = new Console(); console.setLoan(loan); assertThat(loan, is(equalTo(console.getLoan()))); } @Test public void testTwoEqualConsoles() { Console console = new Console(NAME); Console equalConsole = console; assertThat(true, is(equalTo(console.equals(equalConsole)))); } @Test public void testTwoConsolesWhichIsNotEqual() { Console console = new Console(NAME); console.setId(1L); Console notEqualConsole = new Console("Halo"); notEqualConsole.setId(2L); assertThat(false, is(equalTo(console.equals(notEqualConsole)))); } @Test public void testEqualsBetweenNotEqualObjects() { Console console = new Console(NAME); Student student = new Student(); assertThat(false, is(equalTo(console.equals(student)))); } }