Objects First with Java: A Practical Introduction Using BlueJ (6th Edition)
Objects First with Java: A Practical Introduction Using BlueJ (6th Edition)
6th Edition
ISBN: 9780134477367
Author: David J. Barnes, Michael Kolling
Publisher: PEARSON
Question
Book Icon
Chapter 9, Problem 1E
Program Plan Intro

To test that comments can be added, and to inspect the data element of the ArrayList object.

Expert Solution & Answer
Check Mark

Explanation of Solution

Explanation:

Java allows using the JUnit test framework to write and execute automated tests. It contains a set of assert methods to test method code. It uses @Test annotation to define the test case. It also includes two methods:

  • setUp() method that runs before every test invocation.
  • tearDown() method that runs after every test method.

Program:

The required Java code for JUnit test case is given below:

import static org.junit.Assert.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
// The test class SalesItemTest.
public class SalesItemTest
{
    // Default constructor 
     public SalesItemTest()
    {
    }
  // Sets up the test fixture.
   @Before
    public void setUp()
    {
    }

    // Tears down the test fixture.
    @After
    public void tearDown()
   {
    }
  /&
   * Test case to add two comments and that check the size of ArrayList is correct afterwards.       
  */
    @Test
    public void testAddComments()
    {
       SalesItem salesItem1 = new SalesItem("Java for complete Idiots", 21998);
       assertEquals(true,  salesItem1.addComment("James Duckling", "This book is great.", 4));
       assertEquals(true,  salesItem1.addComment("Jhoky Jonathan", "Super Java book.", 5));
       assertEquals(2, salesItem1.getNumberOfComments());
    }
}

In the above JUnit test case, the two comments are added then test the size of ArrayList by comparing the return value of getNumberOfComments() method with 2.

Objects First with Java: A Practical Introduction Using BlueJ (6th Edition), Chapter 9, Problem 1E , additional homework tip  1

The inspector to check for the comment list, their size, and elementData field of ArrayList object is as follows:

Objects First with Java: A Practical Introduction Using BlueJ (6th Edition), Chapter 9, Problem 1E , additional homework tip  2

Want to see more full solutions like this?

Subscribe now to access step-by-step solutions to millions of textbook problems written by subject matter experts!
Students have asked these similar questions
Write out the header of a for-each loop to process an ArrayList called tracks. Don’t worry about the loop’s body.
Update it to create a class Student that includes four properties: an id (type Integer), a name (type String), a Major (type String) and a Grade (type Double). Use class Student to create objects (using buttonAdd) that will be read from the TextFields then save it into an ArrayList. Perform the following queries on the ArrayList of Student objects and show the results on the listViewStudents (Hint: add buttons as needed): d) Use lambdas and streams to calculate the total average of all Students grades, then show the result. e) Use lambdas and streams to group Students by major, then show the results.   1.     Ch3HW;   import javafx.application.Application;   import javafx.fxml.FXMLLoader;   import javafx.scene.Parent;   import javafx.scene.Scene;   import javafx.stage.Stage;   public class MainApp extends Application{   @Override   publicvoidstart(StageprimaryStage) throwsException {   FXMLLoader loader…
Update it to create a class Student that includes four properties: an id (type Integer), a name (type String), a Major (type String) and a Grade (type Double). Use class Student to create objects (using buttonAdd) that will be read from the TextFields then save it into an ArrayList. Perform the following queries on the ArrayList of Student objects and show the results on the listViewStudents (Hint: add buttons as needed): d) Use lambdas and streams to calculate the total average of all Students grades, then show the result.   1.     Ch3HW;   import javafx.application.Application;   import javafx.fxml.FXMLLoader;   import javafx.scene.Parent;   import javafx.scene.Scene;   import javafx.stage.Stage;   public class MainApp extends Application{   @Override   publicvoidstart(StageprimaryStage) throwsException {   FXMLLoader loader =newFXMLLoader(getClass().getResource("StudentScreen.fxml"));   Parent parent = loader.load();   Scene scene =newScene(parent);…
Knowledge Booster
Background pattern image
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education