|
17 | 17 |
|
18 | 18 | using namespace pagmo;
|
19 | 19 |
|
20 |
| -BOOST_AUTO_TEST_CASE(nsga3_instance){ |
| 20 | + |
| 21 | +BOOST_AUTO_TEST_CASE(nsga3_algorithm_construction) |
| 22 | +{ |
21 | 23 | BOOST_CHECK_NO_THROW(nsga3{});
|
22 |
| -}; |
| 24 | + nsga3 user_algo{1u, 1.00, 30.0, 0.10, 20.0, 12u, 32u, false}; |
| 25 | + BOOST_CHECK(user_algo.get_verbosity() == 0u); |
| 26 | + BOOST_CHECK(user_algo.get_seed() == 32u); |
| 27 | + |
| 28 | + // Verify throw on invalid arguments |
| 29 | + // Invalid cr |
| 30 | + BOOST_CHECK_THROW((nsga3{1u, 2.00, 30.0, 0.10, 20.0, 12u, 32u, false}), std::invalid_argument); |
| 31 | + BOOST_CHECK_THROW((nsga3{1u, -1.00, 30.0, 0.10, 20.0, 12u, 32u, false}), std::invalid_argument); |
| 32 | + // Invalid mut |
| 33 | + BOOST_CHECK_THROW((nsga3{1u, 1.00, 30.0, 1.10, 20.0, 12u, 32u, false}), std::invalid_argument); |
| 34 | + BOOST_CHECK_THROW((nsga3{1u, 1.00, 30.0, -0.10, 20.0, 12u, 32u, false}), std::invalid_argument); |
| 35 | + // Invalid eta_mut |
| 36 | + BOOST_CHECK_THROW((nsga3{1u, 1.00, 30.0, 0.10, 100.1, 12u, 32u, false}), std::invalid_argument); |
| 37 | + BOOST_CHECK_THROW((nsga3{1u, 1.00, 30.0, 0.10, -0.1, 12u, 32u, false}), std::invalid_argument); |
| 38 | +} |
23 | 39 |
|
24 | 40 | BOOST_AUTO_TEST_CASE(nsga3_evolve_population){
|
25 | 41 | dtlz udp{1u, 10u, 3u};
|
|
0 commit comments