Creating a junit test class for gradebook

Assignment Help Basic Computer Science
Reference no: EM132124752

JUnit Test Lab

You will be creating a JUnit Test Class for Gradebook.java, that has been provided for you.  

  1. Add a getScoreSize() method to the Gradebook class which returns scoresSize;
  2. Add a toString() method to the Gradebook class that returns a string with each score in scores separated by a space.

Create the Test Class GradebookTest.

  1. Select the setUp and tearDown method.
  2. Select all of the methods of Gradebook, except for the constructor to create tests for.
  3. In the setUp method of GradebookTest, create at least two objects of Gradebook of size 5. Call the addScore method for each of the Gradebook classes at least twice (but no more than 5 times).
  4. In the teardown method of GradebookTest, set the two objects of Gradebook to null;
  5. Create test for the methods of Gradebook:
  6. addScore
  7. 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

assertTrue( . . .)

  1. Compare the scoreSize to the expected number of scores entered.

assertEquals(. . .)

  1. sum
  2. Compare what is returned by sum() to the expected sum of the scores entered.
  3. minimum
  4. Compare what is returned by minimum() to the expected minimum of the scores entered.
  5. finalScore
  6. Compare what is returned by finalScore() to the expected finalscore of the scores entered.

The finalScore is the sum of the scores, with the lowest score dropped if there are at least two scores, or 0 if there are no scores.

Upload the following in a .zip file:

  1. GradeBook.java
  2. GradeBookTest.java

Example:

As a private member of GradeBookTest:

GradeBook g1;

In setup:

g1 = new GradeBook(5);

g1.addScore(50);

g1.addScore(75);

In teardown:

g1 = null;

 

in testSum():

assertEquals(125, g1.sum(), .0001);

 

in testMinimum():

assertEquals(50, g1.minimum(), .001);

 

in addScoreTest();

assertTrue(g1.toString().equals("50.0 75.0 ");

assertEquals(2,g1.getScoreSize());

gi.addScore(89);

assertTrue(g1.toString().equals("50.0 75.0 89.0 ");

assertEquals(3,g1.getScoreSize());

import java.util.ArrayList;

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 < 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 < 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 < scoresSize; i++)
      {
         if (scores[i] < 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();
   }
}

Reference no: EM132124752

Questions Cloud

What will a firewall not protect from : What will a firewall not protect from? Why implement a firewall?
Write an application that demonstrates using objects : Write an application that demonstrates using objects of each class. Save the files as Horse.java, RaceHorse.java, and DemoHorses.java.
Characteristics of transmission control protocol : Explain the properties and characteristics of Transmission Control Protocol/Internet Protocol (TCP/IP).
Knowing how many clock cycles per instruction : Knowing how many clock cycles per instruction, and how long those clock cycles take, what is the average MIPS rate of the machine?
Creating a junit test class for gradebook : You will be creating a JUnit Test Class for Gradebook.java, that has been provided for you.
Discuss the steps in the planning process : Using an example of a private education institution discuss the steps in the planning process.
Traditional interactive system : Scheduling algorithms are again becoming more important as we look at operating system that run on mobile devices.
Four functions of business model created by henry fayol : Can you tell me the differences in planning and organizing in the four functions of business model created by Henry Fayol?
Ability of a team to become high-performance : What affect does a leadership style have on the ability of a team to become high-performance?

Reviews

Write a Review

Basic Computer Science Questions & Answers

  Show the encoding for the integer 1456 using ber

Show the encoding for the object identifier 1.3.6.1.2.1.7.1 (the udpInDatagram variable in udp group) using BER.

  Engage in a variety of activities

Looking for appropriate career options requires you to engage in a variety of activities, including performing a self-assessment

  How vulnerable do think the united states is to such attack

How would the actions of a hostile nation be any different than the actions of a hostile (competing) foreign company?

  Recursive multiplication

Recursive Multiplication Write a main program that uses a recursive function. This function accepts two arguments into the parameters x and y.

  Why are they of concern in the application environment

Describe how a direct search works in a hashed file using the division-remainder method of hashing.

  What is the new functionality

What are the main concepts and metaphors that have been used for each and what is the new functionality

  Banking and shopping online

Name a scam that we need to look out for while banking and shopping online.

  Find a piece of code or some technical document

Find a piece of code or some technical document and perform a Fagan inspection on it. Document and discuss your experience and findings based on this exercise.

  Would nvp work if you use n identical software copies

NVP has not been as widely used as hardware duplications for highly dependable or critical systems. Why?

  Sale cover the mortgage

If the home is sold in period 2, at 190 and 170, does the sale cover the mortgage? Does the consumer get all his payment back?

  What do you think is a good rule of thumb

Sometimes whether using inheritance or composition is somewhat unclear. What do you think is a good rule of thumb?

  Design a message-passing routing algorithm for mesh network

Write a program in occam for each node in a three-dimensional hypercube to route a message from a source node to a destination node using the hypercube routing algorithm described

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd