Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 63 additions & 0 deletions src/main/java/com/ordestiny/tdd/conditional/Statements.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
package com.ordestiny.tdd.conditional;

import java.util.Scanner;

public class Statements {

/**
* If the number lies between 10 and 99999
* then the method returns the number of digits
*
* @param number
* @return String
*/
public String ifElseIf(int number) {
if (number < 100 && number >= 10) {
return ("2 digit number");
} else if (number < 1000 && number >= 100) {
return ("3 digit number");
} else if (number < 10000 && number >= 1000) {
return ("4 digit number");
} else if (number < 100000 && number >= 10000) {
return ("5 digit number");
} else {
return ("Number is not between 10 & 99999");
}
}

public String switchStatement(Double number1, char operator, Double number2) {

/**
* Selects operator using switch
* to perform the operation and get the result
*
* @param number1
* @param operator
* @param number2
*/
Double result;

switch (operator) {

case '+':
result = number1 + number2;
return (number1 + " + " + number2 + " = " + result);

case '-':
result = number1 - number2;
return (number1 + " - " + number2 + " = " + result);

case '*':
result = number1 * number2;
return (number1 + " * " + number2 + " = " + result);

case '/':
result = number1 / number2;
return (number1 + " / " + number2 + " = " + result);

default:
return ("Invalid operator!");
}

}
}
31 changes: 31 additions & 0 deletions src/test/java/com/ordestiny/tdd/conditional/StatementsTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package com.ordestiny.tdd.conditional;

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;

public class StatementsTest {
private Statements object = new Statements();

@Test
public void ifElseIfTest() {
//number between 10 and 99999 whose no. of digits is to be found
assertEquals(object.ifElseIf(20), 2);
assertEquals(object.ifElseIf(100), 3);
assertEquals(object.ifElseIf(165), 3);
assertEquals(object.ifElseIf(9876), 4);
assertEquals(object.ifElseIf(90909), 5);
assertEquals(object.ifElseIf(24567), 5);
}

@Test
public void switchStatementTest() {
assertEquals(object.switchStatement(10, '+', 20), 30);
assertEquals(object.switchStatement(1234, '-', 891), 343);
assertEquals(object.switchStatement(17, '*', 987), 16779);
assertEquals(object.switchStatement(59865, '/', 5), 11973);
assertEquals(object.switchStatement(1098, '+', 4567), 5665);
assertEquals(object.switchStatement(1150, '*', 2), 2300);
}
}