Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Create a JUNIT test program in Java for this program: package edu.odu.cs.cs350; import java.util.Arrays; /** * A duration represents a period of elapsed time, e.g.,

Create a JUNIT test program in Java for this program:

package edu.odu.cs.cs350; import java.util.Arrays; /** * A duration represents a period of elapsed time, e.g., 4 hours, 23 minutes, 2 seconds. * This is differentiated from a point in time (e.g., 4:23:02AM). A meeting that * has a duration of 2 hours has that same duration no matter where it was held. A * starting time (point) for that of 2:00PM EST can be unambiguous only if the time * zone is added. * * 

* Because durations are often used in calculations, both positive and * negative values are possible. * *

* Most of the accessor functions for this class will respond with normalized * values, where the normalization rules are as follows: *

    *
  • The seconds and minutes components will have an absolute * value in the range 0..59, inclusive.
  • *
  • The hours component will have an absolute value in the * range 0..23, inclusive.
  • *
  • The sign of each component matches the sign of the * overall duration. A duration of -61 seconds, for example, * has normalized components of -1 seconds and -1 minutes.
  • *
* Inputs to the member functions are not, however, required to * be normalized. new Duration(0,0,3,-61) and new Duration(0,0,1,59) * are both acceptable (and the resulting Duration objects are equal). * * @author zeil * */ public class Duration implements Cloneable { /** * Construct a new duration, equivalent to * Duration(0,0,0,0). */ public Duration() { //ToDo } /** * Create a new duration. * * @param totalSeconds total number of seconds in duration */ public Duration(long totalSeconds) { //ToDo } /** * Create a new duration. * * @param days number of days in duration * @param hours number of hours in duration * @param minutes number of minutes in duration * @param seconds number of seconds in duration */ public Duration(int days, int hours, int minutes, int seconds) { //ToDo } /** * Get the total seconds of this duration, including the contributions * of the days, hours, minutes, & seconds components. * * @return the total seconds */ public long getTotalSeconds() { //ToDo return 0; } /** * Set the total seconds of this duration, potentially altering * the days, hours, minutes, & seconds components. * @param totalSeconds the total seconds to set */ public void setTotalSeconds(long totalSeconds) { //ToDo } /** * How many days in this duration?. * * @return the normalized days component */ public int getDays() { //ToDo return 0; } private static final long secondsPerHour = 60 * 60; /** * How many hours in this duration?. * * @return the normalized hours component */ public int getHours() { //ToDo return 0; } /** * How many minutes in this duration?. * * @return the normalized minutes component */ public int getMinutes() { //ToDo return 0; } /** * How many seconds in this duration?. * * @return the normalized seconds component */ public int getSeconds() { //ToDo return 0; } /** * Add another duration to this one. * @param dur a duration */ public void add(Duration dur) { //ToDo } /** * Subtract another duration from this one. * @param dur a duration */ public void subtract(Duration dur) { //ToDo } /** * Multiply this duration by a scaling factor, * rounding to the closest second. * @param factor a scaling factor */ public void scale(double factor) { //ToDo } /** * Render the duration as * d:h:m:s * (preceded by a '-'if the duration is negative) * where the four components are normalized non-negative * integer values. The final three components are always rendered * in 2 digits. The two leading components and their * associated ':' delimiters are omitted if the leading values * are zero. E.g., Duration(0,-1,-59,-61) would be rendered as * "-02:00:01". */ public String toString() { //ToDo return ""; } // Comparison and hashing /** * Compares two durations for equality. They are considered equal if * their getTotalSeconds() values are equal. * * @param obj object to be compared for equality with this duration * @return true if the specified object is equal to this one */ public boolean equals(Object obj) { //ToDo return false; } /** * Returns the hash code value for this object. * * @return the hash code value for this duration */ public int hashCode() { //ToDo return 0; } /** * Return a (deep) copy of this object. */ @Override public Object clone() { //ToDo return null; } }

*This is the template to fill in for the solution - please fill in these functions to complete the JUNIT Test Class*

/** * */ package edu.odu.cs.cs350;

import static org.junit.Assert.*;

import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test;

/** * @author Colten Everitt * */ public class DurationClassTest {

/** * @throws java.lang.Exception */ @BeforeClass public static void setUpBeforeClass() throws Exception { }

/** * @throws java.lang.Exception */ @AfterClass public static void tearDownAfterClass() throws Exception { }

/** * @throws java.lang.Exception */ @Before public void setUp() throws Exception { }

/** * @throws java.lang.Exception */ @After public void tearDown() throws Exception { }

/** * Test method for {@link edu.odu.cs.cs350.Duration#hashCode()}. */ @Test public final void testHashCode() { fail("Not yet implemented"); // TODO }

/** * Test method for {@link edu.odu.cs.cs350.Duration#Duration()}. */ @Test public final void testDuration() { fail("Not yet implemented"); // TODO }

/** * Test method for {@link edu.odu.cs.cs350.Duration#Duration(long)}. */ @Test public final void testDurationLong() { fail("Not yet implemented"); // TODO }

/** * Test method for {@link edu.odu.cs.cs350.Duration#Duration(int, int, int, int)}. */ @Test public final void testDurationIntIntIntInt() { fail("Not yet implemented"); // TODO }

/** * Test method for {@link edu.odu.cs.cs350.Duration#getTotalSeconds()}. */ @Test public final void testGetTotalSeconds() { fail("Not yet implemented"); // TODO }

/** * Test method for {@link edu.odu.cs.cs350.Duration#setTotalSeconds(long)}. */ @Test public final void testSetTotalSeconds() { fail("Not yet implemented"); // TODO }

/** * Test method for {@link edu.odu.cs.cs350.Duration#getDays()}. */ @Test public final void testGetDays() { fail("Not yet implemented"); // TODO }

/** * Test method for {@link edu.odu.cs.cs350.Duration#getHours()}. */ @Test public final void testGetHours() { fail("Not yet implemented"); // TODO }

/** * Test method for {@link edu.odu.cs.cs350.Duration#getMinutes()}. */ @Test public final void testGetMinutes() { fail("Not yet implemented"); // TODO }

/** * Test method for {@link edu.odu.cs.cs350.Duration#getSeconds()}. */ @Test public final void testGetSeconds() { fail("Not yet implemented"); // TODO }

/** * Test method for {@link edu.odu.cs.cs350.Duration#add(edu.odu.cs.cs350.Duration)}. */ @Test public final void testAdd() { fail("Not yet implemented"); // TODO }

/** * Test method for {@link edu.odu.cs.cs350.Duration#subtract(edu.odu.cs.cs350.Duration)}. */ @Test public final void testSubtract() { fail("Not yet implemented"); // TODO }

/** * Test method for {@link edu.odu.cs.cs350.Duration#scale(double)}. */ @Test public final void testScale() { fail("Not yet implemented"); // TODO }

/** * Test method for {@link edu.odu.cs.cs350.Duration#toString()}. */ @Test public final void testToString() { fail("Not yet implemented"); // TODO }

/** * Test method for {@link edu.odu.cs.cs350.Duration#equals(java.lang.Object)}. */ @Test public final void testEqualsObject() { fail("Not yet implemented"); // TODO }

/** * Test method for {@link edu.odu.cs.cs350.Duration#clone()}. */ @Test public final void testClone() { fail("Not yet implemented"); // TODO }

/** * Test method for {@link java.lang.Object#Object()}. */ @Test public final void testObject() { fail("Not yet implemented"); // TODO }

/** * Test method for {@link java.lang.Object#getClass()}. */ @Test public final void testGetClass() { fail("Not yet implemented"); // TODO }

/** * Test method for {@link java.lang.Object#equals(java.lang.Object)}. */ @Test public final void testEqualsObject1() { fail("Not yet implemented"); // TODO }

/** * Test method for {@link java.lang.Object#clone()}. */ @Test public final void testClone1() { fail("Not yet implemented"); // TODO }

/** * Test method for {@link java.lang.Object#toString()}. */ @Test public final void testToString1() { fail("Not yet implemented"); // TODO }

/** * Test method for {@link java.lang.Object#notify()}. */ @Test public final void testNotify() { fail("Not yet implemented"); // TODO }

/** * Test method for {@link java.lang.Object#notifyAll()}. */ @Test public final void testNotifyAll() { fail("Not yet implemented"); // TODO }

/** * Test method for {@link java.lang.Object#wait(long)}. */ @Test public final void testWaitLong() { fail("Not yet implemented"); // TODO }

/** * Test method for {@link java.lang.Object#wait(long, int)}. */ @Test public final void testWaitLongInt() { fail("Not yet implemented"); // TODO }

/** * Test method for {@link java.lang.Object#wait()}. */ @Test public final void testWait() { fail("Not yet implemented"); // TODO }

/** * Test method for {@link java.lang.Object#finalize()}. */ @Test public final void testFinalize() { fail("Not yet implemented"); // TODO }

}

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

Pro Oracle Fusion Applications Installation And Administration

Authors: Tushar Thakker

1st Edition

1484209834, 9781484209837

More Books

Students also viewed these Databases questions

Question

Review Figure

Answered: 1 week ago