Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "quadraticEquation.hpp"
- #include "gtest/gtest.h"
- // #define f(a,b,c) std::pair<unsgined, std::pair<float,float>>(a, std::pair<float,float>(b, c))
- // https://github.com/google/googletest/blob/master/googletest/docs/advanced.md <- here you can find how to properly handle floating point numbers in EXPECTs and ASSERTs
- class QuadraticEquationTest : public ::testing::Test
- {
- protected:
- QuadraticEquationTest() {};
- ~QuadraticEquationTest() override {};
- void SetUp() override {};
- void TearDown() override {};
- };
- TEST_F(QuadraticEquationTest, FirstOfTwoZeroes)
- {
- auto x = utils::quadraticEquation(1, 3, 2);
- ASSERT_FLOAT_EQ(-2, x.second.first);
- }
- TEST_F(QuadraticEquationTest, SecondOfTwoZeroes)
- {
- auto x = utils::quadraticEquation(1, 3, 2);
- ASSERT_FLOAT_EQ(-1, x.second.second);
- }
- TEST_F(QuadraticEquationTest, DeltaLTZero)
- {
- auto x = utils::quadraticEquation(15, 10, 2);
- ASSERT_EQ(0u, x.first);
- }
- TEST_F(QuadraticEquationTest, DeltaEQZero)
- {
- auto x = utils::quadraticEquation(1, 2, 1);
- ASSERT_EQ(1u, x.first);
- }
- TEST_F(QuadraticEquationTest, WhenZeroesNeedBigPrecisionAndNeedDeltaFirstArgument)
- {
- auto x = utils::quadraticEquation(12, 7, -15);
- EXPECT_NEAR(-1.4471, x.second.first, 0.0001);
- }
- TEST_F(QuadraticEquationTest, WhenZeroesNeedBigPrecisionAndNeedDeltaSecondArgument)
- {
- auto x = utils::quadraticEquation(12, 7, -15);
- ASSERT_NEAR(0.86379, x.second.second, 0.0001);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement