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>
10 changes: 8 additions & 2 deletions src/debug/ContainerArray.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
package debug;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

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

Expand All @@ -23,7 +26,10 @@ public int size () {
}

public void remove (E objectToRemove) {
currentSize--;
List list = new ArrayList(Arrays.asList(internalArray));
list.remove(objectToRemove);
internalArray = list.toArray();
currentSize--;
}

@SuppressWarnings("unchecked")
Expand Down
10 changes: 10 additions & 0 deletions src/debug/ContainerArrayTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -44,4 +44,14 @@ public void testObjectIsRemoved () {
myContainer.remove("Bear");
assertEquals("Remove should be same reference", alligator, myContainer.get(0));
}

@Test
public void testRemoveMiddleObject () {
String dog = "dog";
String cat = "cat";
myContainer.add("dog");
myContainer.add("cat");
myContainer.remove(dog);
assertEquals("Remove should work for any object", cat, myContainer.get(0));
}
}
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;

public class Sheet {

HashMap<String, String> cellStorage = new HashMap<String, String>();
HashMap<String, String> literals = new HashMap<String, String>();

public String get(String string) {
if(!cellStorage.keySet().contains(string)){
return "";
}
return cellStorage.get(string);
}

public void put(String cell, String string){
literals.put(cell, string);
try{
Integer.parseInt(string.trim());
} catch (Exception e){
cellStorage.put(cell, string);
return;
}
cellStorage.put(cell, string.trim());
}

public String getLiteral(String string){
if(!literals.keySet().contains(string)){
return "";
}
return literals.get(string);
}

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

import static org.junit.Assert.*;

import org.junit.Test;

public class ItemWindowTester {

PlayerSpritesTab myTab = new PlayerSpritesTab();

@Test
public void testSetTitle(){
myTab.setTabTitle("");
assertEquals("", myTab.getTab().getText());
myTab.setTabTitle(" ");
assertEquals(" ", myTab.getTab().getText());
myTab.setTabTitle(" Title ");
assertEquals("Title", myTab.getTab().getText());
}

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

/**
* Created by davidyan on 4/4/16.
*/

import authoringEnvironment.ViewSprite;
import javafx.geometry.Insets;
import javafx.scene.control.Tab;
import javafx.scene.layout.TilePane;


import java.util.ArrayList;

public class PlayerSpritesTab implements ITab{

Tab tab;
TilePane tilepane;

public PlayerSpritesTab(){
tab = new Tab();
tilepane = new TilePane();
}

public void populateTab(ArrayList<ViewSprite> viewSprites){
setTilePaneSettings();
for(ViewSprite x : viewSprites){
// img.setFitHeight(myTabPane.getPrefWidth()*0.25);
// img.setFitWidth(myTabPane.getPrefWidth()*0.25);
tilepane.getChildren().add(x);
}
tab.setContent(tilepane);
}

public void setTabTitle(String tabTitle){
tab.setText(tabTitle.trim());
}

private void setTilePaneSettings(){
tilepane.setPrefTileHeight(200);
tilepane.setPrefTileWidth(200);
double inset = 5;
tilepane.setPadding(new Insets(inset, inset, inset, inset));
tilepane.setHgap(inset);
}

public Tab getTab(){
return tab;
}
}