1#include <gtest/gtest.h>
11TEST(addTest, PositiveNumbers)
13 EXPECT_DOUBLE_EQ(
add(1.0,2.0),3.0);
16TEST(addTest, NegativeNumbers)
18 EXPECT_DOUBLE_EQ(
add(-1.0,-3.0),-4.0);
21TEST(addTest, MixedNumbersPositive)
23 EXPECT_DOUBLE_EQ(
add(-1.0,3.0),2.0);
26TEST(addTest, MixedNumbersNegative)
28 EXPECT_DOUBLE_EQ(
add(-4.0,3.0),-1.0);
33 EXPECT_DOUBLE_EQ(
add(0.0,1.0),1.0);
40TEST(subtractTest, PositiveNumbers)
42 EXPECT_DOUBLE_EQ(
subtract(5.0,3.0),2.0);
45TEST(subtractTest, NegativeNumbers)
47 EXPECT_DOUBLE_EQ(
subtract(-5.0,-1.0),-4.0);
50TEST(subtractTest, MixedNumbersPositive)
52 EXPECT_DOUBLE_EQ(
subtract(1.0,-2.0),3.0);
55TEST(subtractTest, MixedNumbersNegative)
57 EXPECT_DOUBLE_EQ(
subtract(-5.0,3.0),-8.0);
60TEST(subtractTest, NumberZero)
62 EXPECT_DOUBLE_EQ(
subtract(0.0,3.0),-3.0);
69TEST(multiplyTest, PositiveNumbers)
71 EXPECT_DOUBLE_EQ(
multiply(5.0,10.0),50.0);
74TEST(multiplyTest, NegativeNumbers)
76 EXPECT_DOUBLE_EQ(
multiply(-3.0,-2.0),6.0);
79TEST(multiplyTest, MixedNumbers)
81 EXPECT_DOUBLE_EQ(
multiply(-3.0,2.0),-6.0);
84TEST(multiplyTest, NumberZero)
86 EXPECT_DOUBLE_EQ(
multiply(0.0,5.0),0.0);
89TEST(multiplyTest, NeutralElement)
91 EXPECT_DOUBLE_EQ(
multiply(5.0,1.0),5.0);
94TEST(multiplyTest, SmallDecimalNumber)
96 EXPECT_DOUBLE_EQ(
multiply(5.0,0.5),2.5);
103TEST(divideTest, PositiveNumbers)
106 EXPECT_DOUBLE_EQ(
divide(10.0,5.0,err),2.0);
111TEST(divideTest, NegativeNumbers)
114 EXPECT_DOUBLE_EQ(
divide(-9.0,-3.0,err),3.0);
121 EXPECT_DOUBLE_EQ(
divide(-27.0,9.0,err),-3.0);
125TEST(divideTest, NeutralElement)
128 EXPECT_DOUBLE_EQ(
divide(10.0,1.0,err),10.0);
143 EXPECT_DOUBLE_EQ(
divide(0.0,5.0,err),0.0);
152TEST(factorialTest, PositiveNumber)
159TEST(factorialTest, NegativeNumber)
188 EXPECT_DOUBLE_EQ(
power(2.0,3),8.0);
193 EXPECT_DOUBLE_EQ(
power(6.0,1),6.0);
198 EXPECT_DOUBLE_EQ(
power(15.0,0),1.0);
203 EXPECT_DOUBLE_EQ(
power(1.0,50),1.0);
213 EXPECT_DOUBLE_EQ(
root(9.0,2,err),3.0);
217TEST(rootTest, NegativeRootNumber)
225TEST(rootTest, NegativeBaseOddRoot)
228 EXPECT_DOUBLE_EQ(
root(-8.0,3,err),-2.0);
233TEST(rootTest, NegativeBaseEvenRoot)
244 EXPECT_DOUBLE_EQ(
root(0.0,3,err),0.0);
261TEST(moduloTest, PositiveNumber)
264 EXPECT_EQ(
modulo(11.0,2.0,err),1.0);
269TEST(moduloTest, NegativeNumber)
272 EXPECT_EQ(
modulo(-7.0,3.0,err),-1.0);
285TEST(moduloTest, NegativeModulo)
288 EXPECT_EQ(
modulo(9.0,-4.0,err),1.0);
Mathematical library for calculator project.
TEST(addTest, PositiveNumbers)
double root(double base, int n, MathError &err)
Implementation of function root.
double add(double a, double b)
Implementation of function add.
double multiply(double a, double b)
Implementation of function multiply.
double modulo(double a, double b, MathError &err)
Implementation of function modulo.
double divide(double a, double b, MathError &err)
Implementation of function divide.
double subtract(double a, double b)
Implementation of function subtract.
double factorial(int a, MathError &err)
Implementation of function factorial.
double power(double base, int exp)
Implementation of function power.