import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

import java.util.List;

import static org.junit.jupiter.api.Assertions.*;


public class MastermindTest {

    private Mastermind game;

    @BeforeEach
    public void setUp() {
        this.game = new Mastermind(10, 4, 6);
    }

    @Test
    public void test_check_code_len() {
        assertFalse(this.game.checkCode(List.of(1, 1, 1)));
        assertTrue(this.game.checkCode(List.of(1, 1, 1, 1)));
        assertFalse(this.game.checkCode(List.of(1, 1, 1, 1, 1)));
    }

    @Test
    public void test_check_code_range() {
        assertFalse(this.game.checkCode(List.of(0, 1, 1, 1)));
        assertTrue(this.game.checkCode(List.of(1, 2, 3, 4)));
        assertTrue(this.game.checkCode(List.of(6, 5, 4, 3)));
        assertFalse(this.game.checkCode(List.of(7, 6, 6, 6)));
    }
}
