






Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
An introduction to testing in java programming, emphasizing the importance of developing test cases before writing the method's body. It includes examples of test cases for methods that count the number of vowels in a word and create a worker object. The document also discusses the concept of static components and the use of static variables.
Typology: Lecture notes
1 / 12
This page cannot be seen from the preview
Don't miss anything!







Test case
: Set of input values, together with the expected output. Develop test cases for a method from its specification --- evenbefore you write the method
’s body.
/** = number of vowels in word w.Precondition: w contains at least one letter and nothing but letters*/ public^ int
numberOfVowels(String w) {… }
Developing testcases first, in “critique”^ mode, canprevent wasted workand errors.
How^ many
vowels^
in^ each^ of
these^ words?
creek syzygy
“Child 2” mom pop^ j0 children w0 0 name
BFly s0^ “Mumsie
” null mom^
popnull children^1 name
BFly j
“Opa” mom pop null children
null 1 name
BFly “Popsi b ” null mom^
b0pop children^2 name
BFly w
“Child 1” mom pop null children
w L0 name
BFly^1 If L0 gets a mom,say j0, the mom’snumber of childrenmust increase.You should test this.
Java:^ Every
class^ that
does^ not extend^ another
extends
class
Object.^
That^ is, public class^ W^ {…} is^ equivalent
to public^ class
W^ extends
Object^ {…}
W@af
lname^
“Obama
ssn^123456789 boss^
null W(…)^ getLname() getSsn(),
getBoss()
Object setBoss(W) toString() equals(Object)
hashCode() Should^ draw
object^ like
this
We^ often
leave^ off
the^ top partition
to^ reduce
clutter; we
know^ that
it^ is^ always
there
Object W@af^ lname^
“Obama
ssn^123456789 boss^
W null getSsn()
toString()
toString()
in^ Object
returns the^ name
of^ the^ object:
W@af
Java Convention
: Define toString() in any class to return a representation ofan object, giving info about the valuesin its fields.New definition of toString()
overrides
the definition in partition Object
c^ W@af toString()^
c.toString()
calls^ this
method In appropriate places, the expressionc^ automatically does c.toString()
/** An instance represents a point (x, y) in the plane */ public class
Point { private^
int^ x; // x-coordinate private^
int^ y; // y-coordinate … / = repr. of this point in form**
“ (x, y) ”
public^ String
toString() { return^ “(” + x + “, ” + y + “)”;} }
Point@fa
Point x^9
y^5
Function toString should give the values in thefields in a format that makes sense for the class.
(9,^ 5) docsity.com
W@af
lname^ “
Om” boss null ssn^35 isBoss(W)
W@b
lname^
“Jo” boss W@af ssn^21 isBoss(W)
/** =^ “this object is c
’s boss”
Pre: c is not null. */ public^ boolean
isBoss(W c) { return this
== c.boss; } keyword
this^ refers to the name of the object in which
it appears
x.isBoss(y) is
false y W@af y.isBoss(x) isx W@b
true
W@af
lname^ “
Om” boss null ssn^35 isBoss(W)
W@b
lname^
“Jo” boss W@af ssn^21 isBoss(W)
/** =^ “b is c
’s boss”
Pre: b and c are not null. */ public^ static
boolean
isBoss(W b, W c) { return^ b == c.getBoss();}
isBos(W,W)
W@afy x^ W@b
static:^ there
is^ only^ one copy^ of^
the^ method.
It is^ not^ in
each^ object W^ (objects,
static components)
x.isBoss(x,
y) y.isBoss(x,
y) Preferred: W.isBoss(x,
y)
Type^ String[]:
array^ of elements
of^ type^
String. We^ will^
discuss^ later
Running
the^ application
consists
of^ calling
that^ method
main
Convention:
the^ method
main^ doesn’t
use
parameter
args,^ then
call^ it^ with
argument
null