diff --git a/Answersr.md b/Answersr.md new file mode 100644 index 0000000..c2a0563 --- /dev/null +++ b/Answersr.md @@ -0,0 +1,23 @@ +**Question 1:** + +1) Not starting the array off at 0. + +2) Using an interger and double type in the same array. + +3) Having too many values in the array. + + +**Question 2:** + +1) "A new instance of a class." - A n empty new array will be created with a refernce to `scoreboard`. + +2) "An instance with a single mutation." - 1 item will be added to the array for `score`. + +3) "An instance with multiple mutations." - Mutiple items will be added to the array. + + +**Question 3:** + +A new instance of a class would be a range [0,0). There are no mutators. + + diff --git a/Average.java b/Average.java new file mode 100644 index 0000000..87e8521 --- /dev/null +++ b/Average.java @@ -0,0 +1,23 @@ +public class Average{ + + int count = 0; + double sum = 0; + + public void addValue(double value){ + sum += value; + count += 1; + } + + public double getAverage(){ + if (count == 0){ + return 0; + } + else{ + return sum / count; + } + } + + public int getCount (){ + return count; + } +} diff --git a/AverageTest.java b/AverageTest.java new file mode 100644 index 0000000..b0278eb --- /dev/null +++ b/AverageTest.java @@ -0,0 +1,79 @@ +import junit.framework.TestCase; + +public class AverageTest extends TestCase{ + + public void testNewAverage(){ + Average avg = new Average(); + + assertEquals(0, avg.getCount()); + assertEquals(0.0, avg.getAverage(), 0.001); + + } + + + public void testSingleValue(){ + + Average avg = new Average(); + + avg.addValue(5.5); + + assertEquals(5.5, avg.getAverage(), 0.001); + assertEquals(1, avg.getCount()); + + } + + public void testFiveValuesNonZeroAverage(){ + + Average avg = new Average(); + + avg.addValue(1); + avg.addValue(2); + avg.addValue(3); + avg.addValue(4); + avg.addValue(5); + + assertEquals(3.0, avg.getAverage(), 0.001); + assertEquals(5, avg.getCount()); + } + + public void testFiveValuesZeroAverage(){ + + Average avg = new Average(); + + avg.addValue(-1); + avg.addValue(-1); + avg.addValue(0); + avg.addValue(1); + avg.addValue(1); + + assertEquals(0.0, avg.getAverage(), 0.001); + assertEquals(5, avg.getCount()); + } + + public void testFiveValuesSameAverage(){ + + Average avg = new Average(); + + avg.addValue(1); + avg.addValue(1); + avg.addValue(1); + avg.addValue(1); + avg.addValue(1); + + assertEquals(1.0, avg.getAverage(), 0.001); + assertEquals(5, avg.getCount()); + } +} + + + + + + + + + + + + + \ No newline at end of file diff --git a/Range.java b/Range.java new file mode 100644 index 0000000..d2335dc --- /dev/null +++ b/Range.java @@ -0,0 +1,45 @@ +public class Range{ + double min = 0; + double max = 0; + double width = 0; + + public Range (double start, double stop){ + if (start == stop){ + start = 0; + start = 0; + } + else{ + if (stop < start){ + min = stop; + max = start; + } + if (start < stop){ + min = start; + max = stop; + } + } + } + + public boolean contains(double value){ + return true; + + } + + public double getWidth(){ + return 0.0; + + } + + public double getMin(){ + return min; + } + + public double getMax(){ + return max; + } + + public Range intersection(Range other){ + return new Range(0.0, 0.0); + } +} + \ No newline at end of file diff --git a/RangeTest.java b/RangeTest.java new file mode 100644 index 0000000..ed7970a --- /dev/null +++ b/RangeTest.java @@ -0,0 +1,15 @@ +import junit.framework.TestCase; + +public class RangeTest extends TestCase { + public void testNewRange(){ + Range rng = new Range(0.0, 0.0); + } + + public void testMin() { + Range r1 = new Range(1.0, 10.0); + assertEquals(1.0, r1.getMin()); + + Range r2 = new Range(5.0, -1.2); + assertEquals(-1.2, r2.getMin()); + } +}