Method to the gradebook class

Assignment Help Basic Computer Science
Reference no: EM132125920

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: EM132125920

Questions Cloud

Properties and characteristics of transmission control : Explain the properties and characteristics of Transmission Control Protocol/Internet Protocol (TCP/IP).
Navigate to the classifications section of the document : Navigate to the Classifications section of the document. Select the five paragraphs listing the subtypes. Apply the open round bullet list style to the text
What is the average mips rate of the machine : a) Knowing how many clock cycles per instruction, and how long those clock cycles take, what is the average MIPS rate of the machine?
Why is threadless so successful : What competitive advantages do they have over comparable design firms using traditional strategies for product design?
Method to the gradebook class : You will be creating a JUnit Test Class for Gradebook.java, that has been provided for you.
Traditional interactive system : Scheduling algorithms are again becoming more important as we look at operating system that run on mobile devices.
Formula without using a function : In cell G7, enter a formula without using a function that divides Joan's total bonus (cell E7) by her base salary (cell B7).
The different aspects of the firms comprehensive strategy : The CEO of the firm you selected has hired your team to help address the changes the firm must make to remain competitive now and in the years ahead.
Discuss ways in which technology has changed : When you respond to others, discuss ways in which technology has changed your outlook on your career of choice.

Reviews

Write a Review

Basic Computer Science Questions & Answers

  Identifies the cost of computer

identifies the cost of computer components to configure a computer system (including all peripheral devices where needed) for use in one of the following four situations:

  Input devices

Compare how the gestures data is generated and represented for interpretation in each of the following input devices. In your comparison, consider the data formats (radio waves, electrical signal, sound, etc.), device drivers, operating systems suppo..

  Cores on computer systems

Assignment : Cores on Computer Systems:  Differentiate between multiprocessor systems and many-core systems in terms of power efficiency, cost benefit analysis, instructions processing efficiency, and packaging form factors.

  Prepare an annual budget in an excel spreadsheet

Prepare working solutions in Excel that will manage the annual budget

  Write a research paper in relation to a software design

Research paper in relation to a Software Design related topic

  Describe the forest, domain, ou, and trust configuration

Describe the forest, domain, OU, and trust configuration for Bluesky. Include a chart or diagram of the current configuration. Currently Bluesky has a single domain and default OU structure.

  Construct a truth table for the boolean expression

Construct a truth table for the Boolean expressions ABC + A'B'C' ABC + AB'C' + A'B'C' A(BC' + B'C)

  Evaluate the cost of materials

Evaluate the cost of materials

  The marie simulator

Depending on how comfortable you are with using the MARIE simulator after reading

  What is the main advantage of using master pages

What is the main advantage of using master pages. Explain the purpose and advantage of using styles.

  Describe the three fundamental models of distributed systems

Explain the two approaches to packet delivery by the network layer in Distributed Systems. Describe the three fundamental models of Distributed Systems

  Distinguish between caching and buffering

Distinguish between caching and buffering The failure model defines the ways in which failure may occur in order to provide an understanding of the effects of failure. Give one type of failure with a brief description of the failure

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