#include "polymorphism.hpp" #include TEST(Polymorphism, TotalArea) { std::vector> shapes; shapes.push_back(std::make_unique(2.0, 3.0)); shapes.push_back(std::make_unique(1.0)); EXPECT_NEAR(oop::total_area(shapes), 6.0 + 3.141592653589793, 1e-9); } TEST(Polymorphism, ShapeNames) { std::vector> shapes; shapes.push_back(std::make_unique(1.0)); shapes.push_back(std::make_unique(1.0, 2.0)); EXPECT_EQ(oop::shape_names(shapes), (std::vector{"Circle", "Rectangle"})); }