Question: In java please.. 1. Write a project and package that contains definitions for the Pet class and the Procedure class (see below for specifications). 2.

In java please..

1. Write a project and package that contains definitions for the Pet class and the Procedure class (see below for specifications).

2. Write a project and package that unit tests the Pet and Procedure classes. You will have to import the package that has the definitions of the Pet and Procedure classes.

Part 1 - Class Specifications

Class Pet

Member Variables (all private)

variable

Data Type

description
name string

Contains the name of the pet.

Species String

Contains the pets species.

Gender String

Contains the pets gender.

Member Method Signatures and Descriptions (all public)

Signature Description
Pet()

Default constructor. Sets the values of each member variable to a default value.

Pet(String name, String Species, String gender)

Constructor. Sets the values of each member variable to the corresponding parameter values.

Get/Set methods

Write get/set methods for all member variables.

void Read(Scanner s)

Read the contents of all member variables from the given instance of Scanner. Assume the following:

Scanner is already open.

Member variable values are on separate lines.

void Write(PrintStream ps)

Write the contents of all member variables to the given instance of PrintStream. Assume the PrintStream is already open and ready to use. Data should be written on to separate lines. DO NOT ADD ANY DESCRIPTIVE TEXT IN THE OUTPUT. JUST PRINT THE VALUES.

IMPORTANT - Whatever data is written out should be readable by the Read method of this class. If descriptive text is added then Read will not work.

String GetJSON()

This method should return a string using JSON formatting (). Here is the format:

{ variable name : value, }

Each variable name should be surrounded by quotes. If the variable data type is String then the value should be surrounded by double quotes. There should be a comma between each pair (no comma after the last pair).

Example (Snickers, dog, male):

{"name" : "Snickers", "species" : "dog", "gender" : "male"}

Example (Princess, cat, female):

{"name" : "Princess", "species" : "cat", "gender" : "female"}

@Override

String toString()

This method should return a String instance (not print on the screen) that contains the values of member variables with descriptive text. Here is an example of a string that gets returned from the method.

Example date string:

Name: Snickers

Species: dog

Gender: male

Class Procedure

Member Variables (all private)

Variable

Data Type

Description
Name String

Name of the procedure.

Price Double

Price of the procedure.

Member Method Signatures and Descirptions (all public)

Signature Description

Default Constructor

Default constructor. Sets the values of each member variable to a default value.

Constructor Two Parameters

Constructor that sets the values of the member variables. There should be a corresponding parameter for each member variable.

Get/set methods for all member variables

void Write(PrintStream ps)

Write the contents of all member variables to the given instance of PrintStream. Assume the PrintStream is already open and ready to use. Data should be written on to separate lines. DO NOT ADD ANY DESCRIPTIVE TEXT IN THE OUTPUT. JUST PRINT THE VALUES.

IMPORTANT - Whatever data is written out should be readable by the Read method of this class. If descriptive text is added then Read will not work.

void Read(Scanner s)

Read the contents of all member variables from the given instance of Scanner. Assume the following:

Scanner is already open.

Member variable values are on separate lines.

String GetJSON()

This method should return a string using JSON formatting (). Here is the format:

{ variable name : value, }

Each variable name should be surrounded by quotes. If the variable data type is String then the value should be surrounded by double quotes. There should be a comma between each pair (no comma after the last pair).

Example :

{"name" : "Rabies Shot", "price" : 25.5}

@Override

String toString()

This method should return a String instance (not print on the screen) that contains the values of member variables with descriptive text. Here is an example of a string that gets returned from the method.

For example:

Name: Rabies Shot

Price: $25.50

Class Main

Member Variables (all private)

Variable

Data Type

Description

No member variables

Member Method Signatures and Descirptions (all public)

Signature Description

public static void main(String args[])

Write unit testing and other code in main. See below for details.

Create an automated test in main.

There should be unit tests of ALL get/set methods of both classes. GetJSON is NOT included here.

You need to write code that runs the other methods that are not being unit tested on each class (this includes GetJSON, constructors, Read, Write, toString etc).

The automated test should contain code that demonstrates that ALL methods work on both classes.

Hint: To truly test if the output produced by the Write method of either class works you need to try and read in the file that it class generates with its Read method. For example, assume you write data to a file named abc.txt using the write method. You should now use abc.txt file as input to the read method. If the program fails on this read there is an error.

Deliverables

Project Description

.bcs345.hwk.vet.business

This project should contain a package named . bcs345.hwk. vet.business. Create the packageunder the src directory in the project. This package contains the implementation for the program (Java class files).

.bcs345.hwk.vet.presentation

This project should contain a package named . bcs345.hwk. vet.presentation. Create thepackageunder the src directory in the project. Thispackage contains the implementation for the program (Java class files).

Contains the test program that imports and uses the business package you created. The test program should be an automated test as described above.

Pet File Format

PetName then PetSpecies then PetGender (all on top of the other like rows)

Pet Sample Input File (Pet.txt)

Snickers

Dog

Male

Procedure File Format

ProcedureName then ProcedureCost ( on top of the other)

Procedure Sample Input File (Procedure.txt)

Rabies Shot

25.50

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!