IVS-calculator
Loading...
Searching...
No Matches
mathlib_tests.cpp File Reference
#include <gtest/gtest.h>
#include "mathlib.h"
Include dependency graph for mathlib_tests.cpp:

Go to the source code of this file.

Functions

 TEST (addTest, PositiveNumbers)
 
 TEST (addTest, NegativeNumbers)
 
 TEST (addTest, MixedNumbersPositive)
 
 TEST (addTest, MixedNumbersNegative)
 
 TEST (addTest, NumberZero)
 
 TEST (subtractTest, PositiveNumbers)
 
 TEST (subtractTest, NegativeNumbers)
 
 TEST (subtractTest, MixedNumbersPositive)
 
 TEST (subtractTest, MixedNumbersNegative)
 
 TEST (subtractTest, NumberZero)
 
 TEST (multiplyTest, PositiveNumbers)
 
 TEST (multiplyTest, NegativeNumbers)
 
 TEST (multiplyTest, MixedNumbers)
 
 TEST (multiplyTest, NumberZero)
 
 TEST (multiplyTest, NeutralElement)
 
 TEST (multiplyTest, SmallDecimalNumber)
 
 TEST (divideTest, PositiveNumbers)
 
 TEST (divideTest, NegativeNumbers)
 
 TEST (divideTest, MixedNumbers)
 
 TEST (divideTest, NeutralElement)
 
 TEST (divideTest, NumberZero)
 
 TEST (divideTest, ZeroDividend)
 
 TEST (factorialTest, PositiveNumber)
 
 TEST (factorialTest, NegativeNumber)
 
 TEST (factorialTest, NumberZero)
 
 TEST (factorialTest, NumberOne)
 
 TEST (powerTest, PositiveNumber)
 
 TEST (powerTest, NeutralElement)
 
 TEST (powerTest, NumberZero)
 
 TEST (powerTest, BaseNumberOne)
 
 TEST (rootTest, PositiveNumber)
 
 TEST (rootTest, NegativeRootNumber)
 
 TEST (rootTest, NegativeBaseOddRoot)
 
 TEST (rootTest, NegativeBaseEvenRoot)
 
 TEST (rootTest, NumberZero)
 
 TEST (rootTest, ZeroDegree)
 
 TEST (moduloTest, PositiveNumber)
 
 TEST (moduloTest, NegativeNumber)
 
 TEST (moduloTest, NumberZero)
 
 TEST (moduloTest, NegativeModulo)
 

Function Documentation

◆ TEST() [1/40]

TEST ( addTest ,
MixedNumbersNegative  )

Definition at line 26 of file mathlib_tests.cpp.

27{
28 EXPECT_DOUBLE_EQ(add(-4.0,3.0),-1.0);
29}
double add(double a, double b)
Implementation of function add.
Definition mathlib.cpp:9

◆ TEST() [2/40]

TEST ( addTest ,
MixedNumbersPositive  )

Definition at line 21 of file mathlib_tests.cpp.

22{
23 EXPECT_DOUBLE_EQ(add(-1.0,3.0),2.0);
24}

◆ TEST() [3/40]

TEST ( addTest ,
NegativeNumbers  )

Definition at line 16 of file mathlib_tests.cpp.

17{
18 EXPECT_DOUBLE_EQ(add(-1.0,-3.0),-4.0);
19}

◆ TEST() [4/40]

TEST ( addTest ,
NumberZero  )

Definition at line 31 of file mathlib_tests.cpp.

32{
33 EXPECT_DOUBLE_EQ(add(0.0,1.0),1.0);
34}

◆ TEST() [5/40]

TEST ( addTest ,
PositiveNumbers  )

Definition at line 11 of file mathlib_tests.cpp.

12{
13 EXPECT_DOUBLE_EQ(add(1.0,2.0),3.0);
14}

◆ TEST() [6/40]

TEST ( divideTest ,
MixedNumbers  )

Definition at line 118 of file mathlib_tests.cpp.

119{
120 MathError err = OK;
121 EXPECT_DOUBLE_EQ(divide(-27.0,9.0,err),-3.0);
122 EXPECT_EQ(err,OK);
123}
MathError
Definition mathlib.h:11
double divide(double a, double b, MathError &err)
Implementation of function divide.
Definition mathlib.cpp:33

◆ TEST() [7/40]

TEST ( divideTest ,
NegativeNumbers  )

Definition at line 111 of file mathlib_tests.cpp.

112{
113 MathError err = OK;
114 EXPECT_DOUBLE_EQ(divide(-9.0,-3.0,err),3.0);
115 EXPECT_EQ(err,OK);
116}

◆ TEST() [8/40]

TEST ( divideTest ,
NeutralElement  )

Definition at line 125 of file mathlib_tests.cpp.

126{
127 MathError err = OK;
128 EXPECT_DOUBLE_EQ(divide(10.0,1.0,err),10.0);
129 EXPECT_EQ(err,OK);
130}

◆ TEST() [9/40]

TEST ( divideTest ,
NumberZero  )

Definition at line 132 of file mathlib_tests.cpp.

133{
134 MathError err = OK;
135 divide(5.0,0.0,err);
136
137 EXPECT_EQ(err,DIVISION_BY_ZERO);
138}
@ DIVISION_BY_ZERO
Definition mathlib.h:13

◆ TEST() [10/40]

TEST ( divideTest ,
PositiveNumbers  )

Definition at line 103 of file mathlib_tests.cpp.

104{
105 MathError err = OK;
106 EXPECT_DOUBLE_EQ(divide(10.0,5.0,err),2.0);
107 EXPECT_EQ(err,OK);
108
109}

◆ TEST() [11/40]

TEST ( divideTest ,
ZeroDividend  )

Definition at line 140 of file mathlib_tests.cpp.

141{
142 MathError err = OK;
143 EXPECT_DOUBLE_EQ(divide(0.0,5.0,err),0.0);
144
145 EXPECT_EQ(err,OK);
146}

◆ TEST() [12/40]

TEST ( factorialTest ,
NegativeNumber  )

Definition at line 159 of file mathlib_tests.cpp.

160{
161 MathError err = OK;
162 factorial(-4,err);
163
164 EXPECT_EQ(err,NEGATIVE_FACTORIAL);
165}
@ NEGATIVE_FACTORIAL
Definition mathlib.h:14
double factorial(int a, MathError &err)
Implementation of function factorial.
Definition mathlib.cpp:47

◆ TEST() [13/40]

TEST ( factorialTest ,
NumberOne  )

Definition at line 174 of file mathlib_tests.cpp.

175{
176 MathError err = OK;
177 EXPECT_DOUBLE_EQ(factorial(1,err),1);
178
179 EXPECT_EQ(err,OK);
180}

◆ TEST() [14/40]

TEST ( factorialTest ,
NumberZero  )

Definition at line 167 of file mathlib_tests.cpp.

168{
169 MathError err = OK;
170 EXPECT_DOUBLE_EQ(factorial(0,err),1);
171 EXPECT_EQ(err,OK);
172}

◆ TEST() [15/40]

TEST ( factorialTest ,
PositiveNumber  )

Definition at line 152 of file mathlib_tests.cpp.

153{
154 MathError err = OK;
155 EXPECT_DOUBLE_EQ(factorial(3,err),6);
156 EXPECT_EQ(err,OK);
157}

◆ TEST() [16/40]

TEST ( moduloTest ,
NegativeModulo  )

Definition at line 285 of file mathlib_tests.cpp.

286{
287 MathError err = OK;
288 EXPECT_EQ(modulo(9.0,-4.0,err),1.0);
289
290 EXPECT_EQ(err,OK);
291}
double modulo(double a, double b, MathError &err)
Implementation of function modulo.
Definition mathlib.cpp:111

◆ TEST() [17/40]

TEST ( moduloTest ,
NegativeNumber  )

Definition at line 269 of file mathlib_tests.cpp.

270{
271 MathError err = OK;
272 EXPECT_EQ(modulo(-7.0,3.0,err),-1.0);
273
274 EXPECT_EQ(err,OK);
275}

◆ TEST() [18/40]

TEST ( moduloTest ,
NumberZero  )

Definition at line 277 of file mathlib_tests.cpp.

278{
279 MathError err = OK;
280 modulo(13.0,0.0,err);
281
282 EXPECT_EQ(err,DIVISION_BY_ZERO);
283}

◆ TEST() [19/40]

TEST ( moduloTest ,
PositiveNumber  )

Definition at line 261 of file mathlib_tests.cpp.

262{
263 MathError err = OK;
264 EXPECT_EQ(modulo(11.0,2.0,err),1.0);
265
266 EXPECT_EQ(err,OK);
267}

◆ TEST() [20/40]

TEST ( multiplyTest ,
MixedNumbers  )

Definition at line 79 of file mathlib_tests.cpp.

80{
81 EXPECT_DOUBLE_EQ(multiply(-3.0,2.0),-6.0);
82}
double multiply(double a, double b)
Implementation of function multiply.
Definition mathlib.cpp:25

◆ TEST() [21/40]

TEST ( multiplyTest ,
NegativeNumbers  )

Definition at line 74 of file mathlib_tests.cpp.

75{
76 EXPECT_DOUBLE_EQ(multiply(-3.0,-2.0),6.0);
77}

◆ TEST() [22/40]

TEST ( multiplyTest ,
NeutralElement  )

Definition at line 89 of file mathlib_tests.cpp.

90{
91 EXPECT_DOUBLE_EQ(multiply(5.0,1.0),5.0);
92}

◆ TEST() [23/40]

TEST ( multiplyTest ,
NumberZero  )

Definition at line 84 of file mathlib_tests.cpp.

85{
86 EXPECT_DOUBLE_EQ(multiply(0.0,5.0),0.0);
87}

◆ TEST() [24/40]

TEST ( multiplyTest ,
PositiveNumbers  )

Definition at line 69 of file mathlib_tests.cpp.

70{
71 EXPECT_DOUBLE_EQ(multiply(5.0,10.0),50.0);
72}

◆ TEST() [25/40]

TEST ( multiplyTest ,
SmallDecimalNumber  )

Definition at line 94 of file mathlib_tests.cpp.

95{
96 EXPECT_DOUBLE_EQ(multiply(5.0,0.5),2.5);
97}

◆ TEST() [26/40]

TEST ( powerTest ,
BaseNumberOne  )

Definition at line 201 of file mathlib_tests.cpp.

202{
203 EXPECT_DOUBLE_EQ(power(1.0,50),1.0);
204}
double power(double base, int exp)
Implementation of function power.
Definition mathlib.cpp:67

◆ TEST() [27/40]

TEST ( powerTest ,
NeutralElement  )

Definition at line 191 of file mathlib_tests.cpp.

192{
193 EXPECT_DOUBLE_EQ(power(6.0,1),6.0);
194}

◆ TEST() [28/40]

TEST ( powerTest ,
NumberZero  )

Definition at line 196 of file mathlib_tests.cpp.

197{
198 EXPECT_DOUBLE_EQ(power(15.0,0),1.0);
199}

◆ TEST() [29/40]

TEST ( powerTest ,
PositiveNumber  )

Definition at line 186 of file mathlib_tests.cpp.

187{
188 EXPECT_DOUBLE_EQ(power(2.0,3),8.0);
189}

◆ TEST() [30/40]

TEST ( rootTest ,
NegativeBaseEvenRoot  )

Definition at line 233 of file mathlib_tests.cpp.

234{
235 MathError err = OK;
236 root(-5.0,2,err);
237
238 EXPECT_EQ(err,INVALID_ARGUMENT);
239}
double root(double base, int n, MathError &err)
Implementation of function root.
Definition mathlib.cpp:85
@ INVALID_ARGUMENT
Definition mathlib.h:16

◆ TEST() [31/40]

TEST ( rootTest ,
NegativeBaseOddRoot  )

Definition at line 225 of file mathlib_tests.cpp.

226{
227 MathError err = OK;
228 EXPECT_DOUBLE_EQ(root(-8.0,3,err),-2.0);
229
230 EXPECT_EQ(err,OK);
231}

◆ TEST() [32/40]

TEST ( rootTest ,
NegativeRootNumber  )

Definition at line 217 of file mathlib_tests.cpp.

218{
219 MathError err = OK;
220 root(25.0,-2,err);
221
222 EXPECT_EQ(err,INVALID_ROOT);
223}
@ INVALID_ROOT
Definition mathlib.h:15

◆ TEST() [33/40]

TEST ( rootTest ,
NumberZero  )

Definition at line 241 of file mathlib_tests.cpp.

242{
243 MathError err = OK;
244 EXPECT_DOUBLE_EQ(root(0.0,3,err),0.0);
245
246 EXPECT_EQ(err,OK);
247}

◆ TEST() [34/40]

TEST ( rootTest ,
PositiveNumber  )

Definition at line 210 of file mathlib_tests.cpp.

211{
212 MathError err = OK;
213 EXPECT_DOUBLE_EQ(root(9.0,2,err),3.0);
214 EXPECT_EQ(err,OK);
215}

◆ TEST() [35/40]

TEST ( rootTest ,
ZeroDegree  )

Definition at line 249 of file mathlib_tests.cpp.

250{
251 MathError err = OK;
252 root(10.0,0,err);
253
254 EXPECT_EQ(err, INVALID_ROOT);
255}

◆ TEST() [36/40]

TEST ( subtractTest ,
MixedNumbersNegative  )

Definition at line 55 of file mathlib_tests.cpp.

56{
57 EXPECT_DOUBLE_EQ(subtract(-5.0,3.0),-8.0);
58}
double subtract(double a, double b)
Implementation of function subtract.
Definition mathlib.cpp:17

◆ TEST() [37/40]

TEST ( subtractTest ,
MixedNumbersPositive  )

Definition at line 50 of file mathlib_tests.cpp.

51{
52 EXPECT_DOUBLE_EQ(subtract(1.0,-2.0),3.0);
53}

◆ TEST() [38/40]

TEST ( subtractTest ,
NegativeNumbers  )

Definition at line 45 of file mathlib_tests.cpp.

46{
47 EXPECT_DOUBLE_EQ(subtract(-5.0,-1.0),-4.0);
48}

◆ TEST() [39/40]

TEST ( subtractTest ,
NumberZero  )

Definition at line 60 of file mathlib_tests.cpp.

61{
62 EXPECT_DOUBLE_EQ(subtract(0.0,3.0),-3.0);
63}

◆ TEST() [40/40]

TEST ( subtractTest ,
PositiveNumbers  )

Definition at line 40 of file mathlib_tests.cpp.

41{
42 EXPECT_DOUBLE_EQ(subtract(5.0,3.0),2.0);
43}