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
7 changes: 7 additions & 0 deletions .classpath
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
<classpathentry kind="output" path="bin"/>
</classpath>
20 changes: 15 additions & 5 deletions src/debug/ContainerArray.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,28 +2,38 @@


public class ContainerArray<E> {
private int initialCapacity = 10;
private int limit = 10;
private int currentSize = 0;
private Object[] internalArray;

public ContainerArray () {
this(10);
}

public ContainerArray (int initialCapacity) {
internalArray = new Object[initialCapacity];
public ContainerArray (int limit) {
internalArray = new Object[limit];
}

public void add (E element) {
internalArray[currentSize++] = element;
if (currentSize < limit) {
internalArray[currentSize++] = element;
} else {
//do nothing
}
}

public int size () {
return currentSize;
}

public void remove (E objectToRemove) {
currentSize--;
int startSize = currentSize;
for (int i = 0; i < startSize; i++) {
if (internalArray[i].equals((Object) objectToRemove)){
internalArray[i] = null;
currentSize--;
}
}
}

@SuppressWarnings("unchecked")
Expand Down
28 changes: 27 additions & 1 deletion src/debug/ContainerArrayTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,33 @@ public class ContainerArrayTest {
public void setUp () {
myContainer = new ContainerArray<>();
}


@Test
public void testArrayBounds() {
for (int i = 0; i < 15; i++) {
myContainer.add(String.valueOf(i));
}
assertEquals("Array size", 10, myContainer.size());
}

@Test
public void testRemoveObject() {
myContainer.add("Alligator");
myContainer.add("Bear");
myContainer.add("Alligator");
myContainer.remove("Alligator");
assertEquals("Remove element", null, myContainer.get(0));
assertEquals("Remove element", null, myContainer.get(2));
assertEquals("Remove size", 1, myContainer.size());
}

@Test
public void testRemoveObjectNotInContainer() {
myContainer.add("Alligator");
myContainer.remove("Nothing");
assertEquals("Remove size", 1, myContainer.size());
}

@Test
public void testSizeChangeWithAdd () {
myContainer.add("Alligator");
Expand Down
35 changes: 35 additions & 0 deletions src/tdd/Sheet.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package tdd;

import java.util.HashMap;
import java.util.Map;

public class Sheet {

private Map<String, String> myMap;

public Sheet() {
myMap = new HashMap<>();
}

public String get(String string) {
String tempString = myMap.get(string);
try{
int test = Integer.parseInt(myMap.get(string).trim());
return String.valueOf(test);
} catch (Exception e){
if (tempString == null) {
return "";
}
return tempString;
}
}

public String getLiteral(String key) {
return myMap.get(key);
}

public void put(String key, String obj) {
myMap.put(key, obj);
}

}
83 changes: 83 additions & 0 deletions src/tdd/TestSheet.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
package tdd;

import static org.junit.Assert.*;

import org.junit.Test;

public class TestSheet {

@Test
public void testThatCellsAreEmptyByDefault() {
Sheet sheet = new Sheet();
assertEquals("", sheet.get("A1"));
assertEquals("", sheet.get("ZX347"));
}

@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));
}

@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"));
}

@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));
}

@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));
}
}
33 changes: 33 additions & 0 deletions src/voogasalad/PlayerGUI.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package voogasalad;

import java.util.ResourceBundle;

import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Tab;
import javafx.scene.control.TabPane;
import javafx.scene.layout.AnchorPane;

public class PlayerGUI{
private static final double TABS_OFFSET = 32.5;
private static final double NEWTAB_OFFSET = 2.5;
private static final String GUI_RESOURCE = "GUI";
private int windowWidth;
private int windowHeight;
private AnchorPane myRoot;
private TabPane myTabs;
private ResourceBundle myResources;

public PlayerGUI(int windowWidth, int windowHeight) {
this.windowWidth = windowWidth;
this.windowHeight = windowHeight;
}

public int getWidth() {
return this.windowWidth;
}

public int getHeight() {
return this.windowHeight;
}
}
22 changes: 22 additions & 0 deletions src/voogasalad/TestGUI.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package voogasalad;

import static org.junit.Assert.*;

import org.junit.Test;
import javafx.scene.control.Button;

public class TestGUI {

@Test
public void testWidth() {
PlayerGUI gui = new PlayerGUI(500, 500);
assertEquals("Check Width", 500, gui.getWidth());
}

@Test
public void testHeight() {
PlayerGUI gui = new PlayerGUI(500, 500);
assertEquals("Check Width", 500, gui.getHeight());
}

}