@Test
    public void testParseCommandLine() {
        Train train = new Train();

        for (SolverType solver : SolverType.values()) {
            train.parse_command_line(new String[] {"-B", "5.3", "-s", "" + solver.getId(), "-p", "0.01", "model-filename"});
            Parameter param = train.getParameter();
            assertThat(param.solverType).isEqualTo(solver);
            // check default eps
            if (solver.getId() == 0 || solver.getId() == 2 //
                || solver.getId() == 5 || solver.getId() == 6) {
                assertThat(param.eps).isEqualTo(0.01);
            } else if (solver.getId() == 7) {
                assertThat(param.eps).isEqualTo(0.1);
            } else if (solver.getId() == 11) {
                assertThat(param.eps).isEqualTo(0.001);
            } else {
                assertThat(param.eps).isEqualTo(0.1);
            }
            // check if bias is set
            assertThat(train.getBias()).isEqualTo(5.3);
            assertThat(param.p).isEqualTo(0.01);
        }
    }