From bc604a3a538e094b6b79a664783c4dda2015ba2c Mon Sep 17 00:00:00 2001 From: asdfasdf Date: Mon, 7 Oct 2019 13:02:47 -0700 Subject: [PATCH] Added abstract class and made more tests --- src/main/data/Nyse.java | 25 ++++--------------------- src/main/data/StockType.java | 24 +++++++++++++++++++++--- src/test/StockEntryTest.java | 30 ++++++++++++++++++++++++++++++ 3 files changed, 55 insertions(+), 24 deletions(-) create mode 100644 src/test/StockEntryTest.java diff --git a/src/main/data/Nyse.java b/src/main/data/Nyse.java index b5ceb31..8b07399 100644 --- a/src/main/data/Nyse.java +++ b/src/main/data/Nyse.java @@ -1,28 +1,11 @@ package data; import java.util.*; +import data.StockType; -public class Nyse implements StockType { - private static final String NAME = "NYSE"; - private HashSet sources; - +public class Nyse extends StockType { public Nyse() { - sources = new HashSet(); - } - - @Override - public float[] update(String idstring) { - Iterator iterator = sources.iterator(); - float[] result = new float[2]; - while (iterator.hasNext()) { - //XXX - //DataSource source = (DataSource)iterator.next(); - } - return result; - } - - @Override - public String getName() { - return this.NAME; + super(); + name = "NYSE"; } } diff --git a/src/main/data/StockType.java b/src/main/data/StockType.java index ebc2d83..35397cd 100644 --- a/src/main/data/StockType.java +++ b/src/main/data/StockType.java @@ -2,13 +2,31 @@ package data; import java.util.*; -public interface StockType { +public abstract class StockType { + protected static String name; + protected HashSet sources; + + // Sources is empty + public StockType() { + sources = new HashSet(); + } + //Effects: return current price[0] and %change[1] // (2 element array) //Require: working sources - public float[] update(String idstring); + public float[] update(String idstring) { + Iterator iterator = sources.iterator(); + float[] result = new float[2]; + while (iterator.hasNext()) { + //XXX + //DataSource source = (DataSource)iterator.next(); + } + return result; + } //Effects: return name of type //Require: working sources - public String getName(); + public String getName() { + return this.name; + } } diff --git a/src/test/StockEntryTest.java b/src/test/StockEntryTest.java new file mode 100644 index 0000000..e426a5c --- /dev/null +++ b/src/test/StockEntryTest.java @@ -0,0 +1,30 @@ +import data.StockEntry; +import data.StypeMap; +import data.StockType; +import data.Nyse; +import ui.Main; +import java.io.*; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +public class StockEntryTest { + private StockEntry entry; + private StypeMap smap; + private StockType nyyyse; + + @BeforeEach + public void runBefore() { + smap = new StypeMap(); + nyyyse = smap.getStype("Nyse"); + } + + @Test + public void testTypeAndName() { + entry = new StockEntry(nyyyse, "test"); + assertTrue(entry.getTypeName().equals("NYSE")); + assertTrue(entry.getID().equals("test")); + } +}