REQUIRE(s1.radius() == 0); REQUIRE(s1.mp().x == 0); REQUIRE(s1.mp().y == 0); REQUIRE(s1.mp().z == 0); double r = 3; glm::vec3 v{3}; Sphere s2{v, r}; REQUIRE(s2.radius() == 3); REQUIRE(s2.mp().x == 3); REQUIRE(s2.mp().y == 3); REQUIRE(s2.mp().z == 3); REQUIRE(Approx(s2.volume()) == 113.097); REQUIRE(Approx(s2.area()) == 113.097); Color red(255 , 0 , 0); Material m1("m1", red, red, red, 0); glm::vec3 position (0); Sphere s3{v, r, "s3", m1}; REQUIRE(s3.name() == "s3"); REQUIRE(s3.material().ka() == red); } TEST_CASE("Box","[Box]") { Box b1{};
{ std::cout << " First test" << std::endl; Sphere sp1; glm::vec3 ur{}; Color white{0.0, 0.0, 0.0}; REQUIRE(sp1.radius() == (0.0)); REQUIRE(sp1.center() == ur); REQUIRE(sp1.color() == white); REQUIRE(sp1.name() == "no name" ); glm::vec3 c{3.0, 3.0, 3.0}; Sphere sp2{c, 2.5}; REQUIRE(sp2.center() == c ); REQUIRE(sp2.center() == glm::vec3(3.0, 3.0, 3.0)); REQUIRE(sp2.radius() == (2.5)); REQUIRE(sp2.area() == Approx(78.5398)); REQUIRE(sp2.volume() == Approx(65.4498)); REQUIRE(sp2.color() == white); REQUIRE(sp2.name() == "no name"); glm::vec3 d{5.0, 5.0, 5.0}; Color pink{128, 76, 51}; Sphere sp3{d, 3.0, pink, "Sphere 3"}; REQUIRE(sp3.center() == glm::vec3(5.0, 5.0, 5.0)); REQUIRE(sp3.radius() == (3.0)); REQUIRE(sp3.area() == Approx(113.097)); REQUIRE(sp3.volume() == Approx(113.097)); REQUIRE(sp3.color() == pink); REQUIRE(sp3.name() == "Sphere 3"); }