title: JUnit Test Class failure test
body: <p>In my program in the GradeBook Class i was supposed to add a toString method to the GradeBook class that returns a string with each score in scores separated by a space.</p>
  
  <p>This i have done and when i create the JUnit Test i am supposed to Use the toString method to compare the contents of what is in the scores array vs. what is expected to be in the scores array and when i compile and run the JUnit Test the addScore test should be true.</p>
  
  <p>the method we are to use is the assertTrue() method.
  an ex. our teacher gave us was it should be in the form: </p>
  
  <pre><code>assertTrue(g1.toString.equals("50.0 75.0"); the 50 and 75 are scores taken from the objects of GradeBook made in the JUnit Test Class in the setUp() method but mine will be Totally different.
  </code></pre>
  
  <p>Now when i have compiled and run the prorgram the JUnit Test says there is an error in the 
      assertTrue() code but i don't see why.
  Also i am positive that my toString is in the right form but if someone can shed light on my program i would appreciate it</p>
  
  <p>GradeBook code is:</p>
  
  <pre><code>import java.util.ArrayList;
  import java.util.Arrays;
  
  public class GradeBook
  {
  private double[] scores;
  private int scoresSize;
  
  /**
    Constructs a gradebook with no scores and a given capacity.
    @capacity the maximum number of scores in this gradebook
   */
  public GradeBook(int capacity)
  {
      scores = new double[capacity];
      scoresSize = 0;
  }
  
  /**
    Adds a score to this gradebook.
    @param score the score to add
    @return true if the score was added, false if the gradebook is full
   */
  public boolean addScore(double score)
  {
      if (scoresSize &lt; scores.length)
      {
          scores[scoresSize] = score;
          scoresSize++;
          return true;
      }
      else
          return false;      
  }
  
  /**
    Computes the sum of the scores in this gradebook.
    @return the sum of the scores
   */
  public double sum()
  {
      double total = 0;
      for (int i = 0; i &lt; scoresSize; i++)
      {
          total = total + scores[i];
      }
      return total;
  }
  
  /**
    Gets the minimum score in this gradebook.
    @return the minimum score, or 0 if there are no scores.
   */
  public double minimum()
  {
      if (scoresSize == 0) return 0;
      double smallest = scores[0];
      for (int i = 1; i &lt; scoresSize; i++)
      {
          if (scores[i] &lt; smallest)
          {
              smallest = scores[i];
          }
      }
      return smallest;
  }
  
  /**
    Gets the final score for this gradebook.
    @return the sum of the scores, with the lowest score dropped if 
    there are at least two scores, or 0 if there are no scores.
   */
  public double finalScore() 
  {
      if (scoresSize == 0)
          return 0;
      else if (scoresSize == 1)
          return scores[0];
      else
          return sum() - minimum();
  }
  
  public int getScoresSize() {
      return scoresSize;
  }
  
  public String toString(String scoreList){
  
  
      for(int i = 0; i &lt; scores.length; i++){
  
          scoreList += scores[i] + "";
  
      }
      return scoreList;
  }
  
  }
  </code></pre>
  
  <p>This the JUnit Test Class:</p>
  
  <pre><code>import static org.junit.Assert.*;
  
  import org.junit.After;
  import org.junit.Before;
  import org.junit.Test;
  
  
  public class GradeBookTest {
  
  private GradeBook g1;
  private GradeBook g2;
  
  @Before
  public void setUp() throws Exception {
  
      g1 = new GradeBook(5);
      g2 = new GradeBook(5);
  
      g1.addScore(45);
      g1.addScore(68);
      g1.addScore(35);
      g1.addScore(22);
  
      g2.addScore(99);
      g2.addScore(10);
      g2.addScore(77);
      g2.addScore(43);
  }
  
  @After
  public void tearDown() throws Exception {
  
      g1 = null;
      g2 = null;
  
  }
  
  @Test
  public void testAddScore() {
  
      assertTrue(g1.toString().equals("45.0 68.0 35.0 22.0"));
      assertTrue(g2.toString().equals("99.0 10.0 77.0 43.0"));
  
      assertEquals(45,g1.getScoresSize(),.001);
      assertEquals(68,g1.getScoresSize(),.001);
      assertEquals(35,g1.getScoresSize(),.001);
      assertEquals(22,g1.getScoresSize(),.001);
  
      assertEquals(99,g2.getScoresSize(),.001);
      assertEquals(10,g2.getScoresSize(),.001);
      assertEquals(77,g2.getScoresSize(),.001);
      assertEquals(43,g2.getScoresSize(),.001);
  }
  </code></pre>