From d6446ef8ac7f6b78034122795bce9cd33d40fa23 Mon Sep 17 00:00:00 2001 From: Sophie Guo Date: Thu, 7 Apr 2016 20:43:01 -0400 Subject: [PATCH] lab --- src/debug/ContainerArrayTest.java | 11 +++++ src/tdd/Sheet.java | 36 ++++++++++++++ src/tdd/Test.java | 80 +++++++++++++++++++++++++++++++ 3 files changed, 127 insertions(+) create mode 100644 src/tdd/Sheet.java create mode 100644 src/tdd/Test.java diff --git a/src/debug/ContainerArrayTest.java b/src/debug/ContainerArrayTest.java index c566d50..ac26c2f 100755 --- a/src/debug/ContainerArrayTest.java +++ b/src/debug/ContainerArrayTest.java @@ -44,4 +44,15 @@ public void testObjectIsRemoved () { myContainer.remove("Bear"); assertEquals("Remove should be same reference", alligator, myContainer.get(0)); } + @Test + public void testRemoveWorks(){ + String alligator = "Alligator"; + myContainer.add("Bear"); + myContainer.add(alligator); + myContainer.remove("Bear"); + assertEquals("Check if the size is correct",1,myContainer.size()); + assertEquals("Check if Bear has been removed",alligator,myContainer.get(0)); + + } + } diff --git a/src/tdd/Sheet.java b/src/tdd/Sheet.java new file mode 100644 index 0000000..683b78b --- /dev/null +++ b/src/tdd/Sheet.java @@ -0,0 +1,36 @@ +package tdd; +import java.util.ArrayList; +import java.util.HashMap; + +public class Sheet { + HashMap posToString; + + public Sheet(){ + posToString = new HashMap(); + } + + public String get(String s){ + if (!posToString.keySet().contains(s)){ + return ""; + } + String result = posToString.get(s); + String trimmed_result = result.trim(); + try{ + Integer.parseInt(trimmed_result); + return trimmed_result; + }catch (NumberFormatException e){ + return result; + } + } + + public void put(String pos, String content){ + posToString.put(pos, content); + } + + public String getLiteral(String pos){ + if (posToString.keySet().contains(pos)){ + return posToString.get(pos); + } + return ""; + } +} diff --git a/src/tdd/Test.java b/src/tdd/Test.java new file mode 100644 index 0000000..af1ab30 --- /dev/null +++ b/src/tdd/Test.java @@ -0,0 +1,80 @@ +package tdd; +import static org.junit.Assert.*; + +public class Test { + + @org.junit.Test + public void testThatCellsAreEmptyByDefault() { + Sheet sheet = new Sheet(); + assertEquals("", sheet.get("A1")); + assertEquals("", sheet.get("ZX347")); + } + @org.junit.Test + public void testThatTextCellsAreStored() { + Sheet sheet = new Sheet(); + String theCell = "A21"; + + sheet.put(theCell, "A string"); + assertEquals("A string", sheet.get(theCell)); + + sheet.put(theCell, "A different string"); + assertEquals("A different string", sheet.get(theCell)); + + sheet.put(theCell, ""); + assertEquals("", sheet.get(theCell)); + } + + @org.junit.Test + public void testThatNumericCellsAreIdentifiedAndStored() { + Sheet sheet = new Sheet(); + String theCell = "A21"; + + sheet.put(theCell, "X99"); // "Obvious" string + assertEquals("X99", sheet.get(theCell)); + + sheet.put(theCell, "14"); // "Obvious" number + assertEquals("14", sheet.get(theCell)); + + sheet.put(theCell, " 99 X"); // Whole string must be numeric + assertEquals(" 99 X", sheet.get(theCell)); + + sheet.put(theCell, " 1234 "); // Blanks ignored + assertEquals("1234", sheet.get(theCell)); + + sheet.put(theCell, " "); // Just a blank + assertEquals(" ", sheet.get(theCell)); + } + + @org.junit.Test + public void testThatManyCellsExist() { + Sheet sheet = new Sheet(); + sheet.put("A1", "First"); + sheet.put("X27", "Second"); + sheet.put("ZX901", "Third"); + + assertEquals("A1", "First", sheet.get("A1")); + assertEquals("X27", "Second", sheet.get("X27")); + assertEquals("ZX901", "Third", sheet.get("ZX901")); + + sheet.put("A1", "Fourth"); + assertEquals("A1 after", "Fourth", sheet.get("A1")); + assertEquals("X27 same", "Second", sheet.get("X27")); + assertEquals("ZX901 same", "Third", sheet.get("ZX901")); + } + + @org.junit.Test + public void testThatWeHaveAccessToCellLiteralValuesForEditing() { + Sheet sheet = new Sheet(); + String theCell = "A21"; + + sheet.put(theCell, "Some string"); + assertEquals("Some string", sheet.getLiteral(theCell)); + + sheet.put(theCell, " 1234 "); + assertEquals(" 1234 ", sheet.getLiteral(theCell)); + + sheet.put(theCell, "=7"); // Foreshadowing formulas:) + assertEquals("=7", sheet.getLiteral(theCell)); + } + +}