From c363e2814e42ed5cd66e2442a6a56d14520f17de Mon Sep 17 00:00:00 2001 From: mecca Date: Sun, 12 Jul 2026 14:56:08 -0400 Subject: [PATCH] Added add and subtract methods --- Bash | 0 src/main/TestScientificCalculator | 44 +++++++++++++++++++ .../ScientificCalculator.java | 35 +++++++++++++++ 3 files changed, 79 insertions(+) create mode 100644 Bash create mode 100644 src/main/TestScientificCalculator create mode 100644 src/main/java/com/zipcodewilmington/scientificcalculator/ScientificCalculator.java diff --git a/Bash b/Bash new file mode 100644 index 00000000..e69de29b diff --git a/src/main/TestScientificCalculator b/src/main/TestScientificCalculator new file mode 100644 index 00000000..a3e4f699 --- /dev/null +++ b/src/main/TestScientificCalculator @@ -0,0 +1,44 @@ +package com.zipcodewilmington.scientificcalculator; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class TestScientificCalculator { + + @Test + void newCalculatorShouldStartAtZero() { + ScientificCalculator calculator = new ScientificCalculator(); + + assertEquals(0, calculator.getDisplay()); + } + + @Test + void setDisplayShouldChangeDisplay() { + ScientificCalculator calculator = new ScientificCalculator(); + + calculator.setDisplay(25); + + assertEquals(25, calculator.getDisplay()); + } + + @Test + void clearShouldResetDisplayToZero() { + ScientificCalculator calculator = new ScientificCalculator(); + + calculator.setDisplay(25); + calculator.clear(); + + assertEquals(0, calculator.getDisplay()); + } + + @Test + void addShouldUpdateDisplay() { + ScientificCalculator calculator = new ScientificCalculator(); + + calculator.setDisplay(5); + calculator.add(3); + + assertEquals(8, calculator.getDisplay()); + } +} \ No newline at end of file diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/ScientificCalculator.java b/src/main/java/com/zipcodewilmington/scientificcalculator/ScientificCalculator.java new file mode 100644 index 00000000..b0b76a87 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/scientificcalculator/ScientificCalculator.java @@ -0,0 +1,35 @@ +package com.zipcodewilmington.scientificcalculator; + +public class ScientificCalculator { + + private double display; + private double memory; + private boolean error; + private String displayMode; + private String unitsMode; + + public ScientificCalculator() { + display = 0; + memory = 0; + error = false; + displayMode = "decimal"; + unitsMode = "degrees"; + } + + public double getDisplay() { + return display; + } + public void setDisplay(double value) { + display = value; } + public void clear() { + display = 0; + error = false; + } + public void add(double value) { + display = display + value; + } + public void subtract(double value) { + display = display - value; +} + +}