@@ -80,7 +80,7 @@ void floorTest() {
8080}
8181
8282@ Test
83- @ DisplayName ("Closeparntasis Test" )
83+ @ DisplayName ("Closeparenthesis Test" )
8484void closeParenthesisAndOtherTest () {
8585// 10.5 - (20+2.1)
8686double actual =new MathBuilder .Builder (10.5 ).openParenthesis (20 ).add (2.1 ).closeParenthesisAndMinus ()
@@ -96,6 +96,22 @@ void closeParenthesisAndOtherTest() {
9696assertEquals (expected2 ,actual2 );
9797}
9898
99+ @ Test
100+ @ DisplayName ("open parenthesis Test" )
101+ void openParenthesisAndOtherTest () {
102+ // 10.5 - (20+2.1)
103+ double actual =new MathBuilder .Builder (10.5 ).openParenthesis (20 ).minus (2.1 ).closeParenthesisAndMinus ()
104+ .build ().get ();
105+ double expected =10.5 - (20 -2.1 );
106+
107+ // 10.5 / (20+2.1)
108+ double actual2 =new MathBuilder .Builder (10.5 ).openParenthesis (20 ).add (2.2 ).abs ().closeParenthesisAndPlus ().abs ()
109+ .build ().get ();
110+ double expected2 =10.5 + (20 +2.2 );
111+
112+ assertEquals (expected ,actual );
113+ assertEquals (expected2 ,actual2 );
114+ }
99115@ Test
100116@ DisplayName ("Runtime Errors Tests" )
101117void runtimeErrorTest () {
@@ -124,9 +140,16 @@ void divideByNum() {
124140@ Test
125141@ DisplayName ("This Should throw but does not" )
126142void divideByZero () {
127- MathBuilder .Builder actual2 =new MathBuilder .Builder (10.5 ).openParenthesis (0 )
143+
144+
145+
146+ MathBuilder actual =new MathBuilder .Builder (10.5 ).openParenthesis (0 )
147+ .closeParenthesisAndDivide ().divide (0 ).build ();
148+
149+ MathBuilder .Builder actual2 =new MathBuilder .Builder (10.5 ).openParenthesis (0 )
128150.closeParenthesisAndDivide ();
129151
152+ assertTrue (Double .isInfinite (actual .get ()));
130153assertDoesNotThrow (() ->actual2 .build ().get ());
131154assertDoesNotThrow (() ->actual2 .divide (0 ).build ().get ());
132155
@@ -159,4 +182,78 @@ void toRadiansTest() {
159182assertEquals (expected ,actual );
160183assertEquals (expected2 ,actual2 );
161184}
185+
186+ @ Test
187+ void roundCielABS () {
188+
189+ double actual =new MathBuilder .Builder (10 ).openParenthesis (10.5 ).round ().closeParenthesisAndPlus ().build ().get ();
190+ double expected =10 + (Math .round (10.5 ));
191+
192+ double expected2 =10 +Math .ceil (10.5 );
193+ double actual2 =new MathBuilder .Builder (10 ).openParenthesis (10.5 ).ceil ().closeParenthesisAndPlus ().build ().get ();
194+
195+ double expected3 =10 +Math .abs (10.5 );
196+ double actual3 =new MathBuilder .Builder (10 ).openParenthesis (10.5 ).abs ().closeParenthesisAndPlus ().build ().get ();
197+
198+ double expected4 =Math .abs (10 +10.5 );
199+ double actual4 =new MathBuilder .Builder (10 ).openParenthesis (10.5 ).closeParenthesisAndPlus ().abs ().build ().get ();
200+
201+
202+ assertEquals (expected ,actual );
203+ assertEquals (expected2 ,actual2 );
204+ assertEquals (expected3 ,actual3 );
205+ assertEquals (expected4 ,actual4 );
206+ }
207+
208+
209+ @ Test
210+ void toLongTest () {
211+
212+
213+ MathBuilder actual =new MathBuilder .Builder (10.5 ).openParenthesis (0 )
214+ .closeParenthesisAndDivide ().divide (0 ).build ();
215+
216+ MathBuilder actual2 =new MathBuilder .Builder (10.5 ).openParenthesis (0 )
217+ .closeParenthesisAndDivide ().divide (0 ).multiply (-1 ).build ();
218+
219+ MathBuilder actual3 =new MathBuilder .Builder (1999999999 ).multiply (2139999999 ).multiply (3 ).build ();
220+ MathBuilder actual4 =new MathBuilder .Builder (1999999999 ).multiply (2139999999 ).multiply (-3 ).build ();
221+
222+ assertEquals (Long .MAX_VALUE ,actual .toLong ());
223+ assertEquals (Long .MIN_VALUE ,actual2 .toLong ());
224+ assertEquals (Long .MAX_VALUE ,actual3 .toLong ());
225+ assertEquals (Long .MIN_VALUE ,actual4 .toLong ());
226+
227+ }
228+
229+ @ Test
230+ void maxTest () {
231+ MathBuilder actual =new MathBuilder .Builder (10.5 ).max (20 ).build ();
232+ MathBuilder actual2 =new MathBuilder .Builder (13.5 ).max (10 ).build ();
233+
234+ MathBuilder actual3 =new MathBuilder .Builder (10.5 ).openParenthesis (10 ).max (20 ).closeParenthesisAndPlus ().build ();
235+ MathBuilder actual4 =new MathBuilder .Builder (12.5 ).openParenthesis (10 ).closeParenthesisAndPlus ().max (20 ).build ();
236+
237+ assertEquals (20 ,actual .get ());
238+ assertEquals (13.5 ,actual2 .get ());
239+ assertEquals (30.5 ,actual3 .get ());
240+ assertEquals (22.5 ,actual4 .get ());
241+
242+ }
243+
244+ @ Test
245+ void minTest () {
246+ MathBuilder actual =new MathBuilder .Builder (10.5 ).min (20 ).build ();
247+ MathBuilder actual2 =new MathBuilder .Builder (8.5 ).min (10 ).build ();
248+
249+ MathBuilder actual3 =new MathBuilder .Builder (10.5 ).openParenthesis (10 ).min (20 ).closeParenthesisAndPlus ().build ();
250+ MathBuilder actual4 =new MathBuilder .Builder (12.5 ).openParenthesis (10 ).closeParenthesisAndPlus ().min (20 ).build ();
251+
252+ assertEquals (10.5 ,actual .get ());
253+ assertEquals (8.5 ,actual2 .get ());
254+ assertEquals (20.5 ,actual3 .get ());
255+ assertEquals (20 ,actual4 .get ());
256+
257+ }
258+
162259}