17 lines
643 B
C++
17 lines
643 B
C++
#include "polymorphism.hpp"
|
|
#include <gtest/gtest.h>
|
|
|
|
TEST(Polymorphism, TotalArea) {
|
|
std::vector<std::unique_ptr<oop::Shape>> shapes;
|
|
shapes.push_back(std::make_unique<oop::Rectangle>(2.0, 3.0));
|
|
shapes.push_back(std::make_unique<oop::Circle>(1.0));
|
|
EXPECT_NEAR(oop::total_area(shapes), 6.0 + 3.141592653589793, 1e-9);
|
|
}
|
|
|
|
TEST(Polymorphism, ShapeNames) {
|
|
std::vector<std::unique_ptr<oop::Shape>> shapes;
|
|
shapes.push_back(std::make_unique<oop::Circle>(1.0));
|
|
shapes.push_back(std::make_unique<oop::Rectangle>(1.0, 2.0));
|
|
EXPECT_EQ(oop::shape_names(shapes), (std::vector<std::string>{"Circle", "Rectangle"}));
|
|
}
|