COMP 111 Introduction to Computer Science and Object-Oriented Programming
Tasks and Tools download submit edit Web-CAT compile unit test view results
Working with Java Classes You Use You Complete public double getamountincoins() // you code this return -1.0; // replace this } You Define From Scratch
Enable Testing Tools Select Preferences Check the box next to Show Unit Testing Tools
Structure of a Class /** * */ public class PocketMoney } Comments Definition of Instance Variables Definition of Constructor(s) Definition of Method(s)
The PocketMoney Class /** * An example used for * * @author Doyt Perry * @version */ public class PocketMoney // instance variables private int amountinbills = 0; private double amountincoins = 0; Needs a separate comment // conversion rate: 1 US dollar to Canadian dollar private double tocanadianrate = 1.0104;
/** * Constructor for objects of class PocketMoney */ public PocketMoney(int inamountinbills,, double inamountincoins) this.amountinbills = inamountinbills; this.amountincoins = inamountincoins; }
} /** * Convert to Canadian * * @return double converts total to Canadian dollars */ public double converttocanadian() return tocanadianrate * (this.amountinbills + this.amountincoins amountincoins); }
Using a Driver to Demo See handout Lab 1 comes with a driver You need not use or modify May want to run as a demo of program
Visualizing Execution PocketMoney patpocket = new PacketMoney(9, 1.0)
PocketMoney patpocket = new PacketMoney(9, 1.0)
PocketMoney patpocket = new PacketMoney(9, 1.0)
PocketMoney patpocket = new PacketMoney(9, 1.0)
PocketMoney patpocket = new PacketMoney(9, 1.0)
PocketMoney patpocket = new PacketMoney(9, 1.0)
PocketMoney patpocket = new PacketMoney(9, 1.0)
PocketMoney jopocket = new PacketMoney(4, 2.37);
PocketMoney jopocket = new PacketMoney(4, 2.37);
PocketMoney jopocket = new PacketMoney(4, 2.37);
System.out.println("Pat's pocket money in Canadian is " + patpocket.converttocanadian() );
System.out.println("Pat's pocket money in Canadian is " + patpocket.converttocanadian() ); public double converttocanadian() return tocanadianrate * (this.amountinbills + this.amountincoins); }
System.out.println("Pat's pocket money in Canadian is " + patpocket.converttocanadian() ); public double converttocanadian() return tocanadianrate * (this.amountinbills + this.amountincoins); }
System.out.println("Pat's pocket money in Canadian is " + patpocket.converttocanadian() ); public double converttocanadian() return tocanadianrate * (this.amountinbills + this.amountincoins); }
System.out.println("Pat's pocket money in Canadian is " + patpocket.converttocanadian() ); public double converttocanadian() return tocanadianrate * (this.amountinbills + this.amountincoins); }
System.out.println("Pat's pocket money in Canadian is " + patpocket.converttocanadian() ); public double converttocanadian() return tocanadianrate * (this.amountinbills + this.amountincoins); }
System.out.println("Pat's pocket money in Canadian is " + patpocket.converttocanadian() ); public double converttocanadian() return tocanadianrate * (this.amountinbills + this.amountincoins); }
System.out.println("Pat's pocket money in Canadian is " + patpocket.converttocanadian() );
Checking Style Can do within BlueJ Click checkstyle Look at demo
Structure of a Test Class /** * */ public class PocketMoney extends junit.framework..framework.testcase } Comments Test Class Constructor, setup & teardown Test(s) of Constructor(s) Test(s) of Method(s)
PocketMoneyTest /** * The test class PocketMoneyTest. * * @author Doyt Perry * @version 1.0 */ public class PocketMoneyTest extends junit.framework.testcase /** * Default constructor for test class PocketMoneyTest */ public PocketMoneyTest() // not used in this example }
/** * Sets up the test fixture. * * Called before every test case method. */ protected void setup() // not used in this example }
/** * Tears down the test fixture. * * Called after every test case method. */ protected void teardown() // not used in this example }
/** * Test constructor */ public void testconstructor() PocketMoney money = new PocketMoney(9,1.0); assertnotnull(money); }
/** * Test the converttocanadian method */ public void testconverttocanadian() PocketMoney money = new PocketMoney(9,1.0); assertequals(10.104, money.converttocanadian()); } }
assert Commands You can verify that a result is correct by using one of the assert commands // test passes if expected value is equivalent to actual assertequals(double expected, double actual, double delta); assertequals( int expected, int actual); assertequals( String expected, String actual); Decimal precision. // test passes if object is not null (tests instantiation) assertnotnull(object);