Skip to content
Snippets Groups Projects
Commit 5de04183 authored by Myoung Kwon's avatar Myoung Kwon
Browse files

Week4-1

parents
No related branches found
No related tags found
No related merge requests found
package fi.utu.mskwon;
class Calculator {
private double result;
public Calculator() {
reset();
}
public void reset() {
this.result = 0;
}
public double getResult() {
return this.result;
}
public void add(int value) {
this.result += value;
}
public void subtract(int value) {
this.result -= value;
}
public void multiply(int value) {
this.result *= value;
}
public void exponent(int value) {
double base = this.result;
if (value > 0) {
for (int i = 1; i < value; i++) {
base *= base;
}
this.result = base;
} else if (value < 0) {
for (int i = 1; i < -value; i++) {
base *= base;
}
this.result = 1/base;
} else {
this.result = 1;
}
}
}
\ No newline at end of file
package fi.utu.mskwon;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class CalculatorTest {
@Test
void reset() {
Calculator calculator = new Calculator();
assertEquals(0, calculator.getResult());
}
@Test
void getResult() {
Calculator calculator = new Calculator();
assertEquals(0, calculator.getResult());
}
@Test
void add() {
Calculator calculator = new Calculator();
calculator.add(10);
calculator.add(-5);
assertEquals(5, calculator.getResult());
}
@Test
void subtract() {
Calculator calculator = new Calculator();
calculator.add(10);
calculator.subtract(5);
assertEquals(5, calculator.getResult());
}
@Test
void multiply() {
Calculator calculator = new Calculator();
calculator.add(5);
calculator.multiply(2);
calculator.multiply(-3);
assertEquals(-30, calculator.getResult());
}
@Test
void exponent() {
Calculator calculator = new Calculator();
calculator.add(5);
calculator.exponent(2);
assertEquals(25, calculator.getResult());
calculator.reset();
calculator.add(5);
calculator.exponent(-2);
assertEquals((double) 1/25, calculator.getResult());
calculator.reset();
calculator.add(5);
calculator.exponent(0);
assertEquals(1, calculator.getResult());
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment