Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

I have 3 classes in java (Movie class, Rental class and Customer class) Please write a test class in java to test these classes. Thanks

I have 3 classes in java (Movie class, Rental class and Customer class) Please write a test class in java to test these classes. Thanks

********************

import java.util.* ;

public class Movie {

public static final int CHILDRENS = 2; public static final int REGULAR = 0; public static final int NEW_RELEASE = 1;

private String _title; private int _priceCode;

public Movie(String title, int priceCode) { _title = title; _priceCode = priceCode; }

public int getPriceCode() { return _priceCode; }

public void setPriceCode (int arg) { _priceCode = arg; }

public String getTitle() { return _title; } }

***************************************

import java.util.* ;

public class Rental {

private Movie _movie; private int _daysRented;

public Rental(Movie movie, int daysRented) { _movie = movie; _daysRented = daysRented; }

public int getDaysRented() { return _daysRented; }

public Movie getMovie() { return _movie; } }

********************************************

import java.util.* ;

class Customer {

private String _name;

private Vector _rentals = new Vector();

public Customer(String name) {

_name = name;

}

public void addRental(Rental arg) {

_rentals.addElement(arg);

}

public String getName() {

return _name;

}

public String statement() {

double totalAmount = 0;

int frequentRenterPoints = 0;

Enumeration rentals = _rentals.elements();

String result = "Rental Record for " + getName() + " ";

while (rentals.hasMoreElements()) {

double thisAmount = 0;

Rental each = (Rental) rentals.nextElement();

//determine amounts for each line

thisAmount = getCharge(thisAmount, each);

// add frequent renter points

frequentRenterPoints ++;

// add bonus for a two day new release rental

if ((each.getMovie().getPriceCode() == Movie.NEW_RELEASE) &&

each.getDaysRented() > 1) frequentRenterPoints ++;

//show figures for this rental

result += "\t" + each.getMovie().getTitle()+ "\t" +

String.valueOf(thisAmount) + " ";

totalAmount += thisAmount;

}

//add footer lines

result += "Amount owed is " + String.valueOf(totalAmount) + " ";

result += "You earned " + String.valueOf(frequentRenterPoints) +

" frequent renter points";

return result;

}

private double getCharge(double thisAmount, Rental each) {

switch (each.getMovie().getPriceCode()) {

case Movie.REGULAR:

thisAmount += 2;

if (each.getDaysRented() > 2)

thisAmount += (each.getDaysRented() - 2) * 1.5;

break;

case Movie.NEW_RELEASE:

thisAmount += each.getDaysRented() * 3;

break;

case Movie.CHILDRENS:

thisAmount += 1.5;

if (each.getDaysRented() > 3)

thisAmount += (each.getDaysRented() - 3) * 1.5;

break;

}

return thisAmount;

}

}

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

OCA Oracle Database SQL Exam Guide Exam 1Z0-071

Authors: Steve O'Hearn

1st Edition

1259585492, 978-1259585494

More Books

Students also viewed these Databases questions

Question

What are the Five Phases of SDLC? Explain each briefly.

Answered: 1 week ago

Question

How can Change Control Procedures manage Project Creep?

Answered: 1 week ago