@Override public boolean equals (Object o) { if (o this) // A return true; if (!(o instanceof List)) // B return false; ListIterator e1 = listIterator(); ListIterator e2 = ((List) o).listIterator(); while (e1.hasNext() && e2.hasNext()) // C { E 01 e1.next(); Object 02 = e2.next(); if (!(01 = null ? 02 == null: 01.equals (02))) // D retum false; } return (e1.hasNext() || e2.hasNext()); // E }

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Consider the equals() method from the java.util.AbstractList class. 

(a) Draw a control flow graph for this method. Several possible
values can be used for the node number in the graph. Choose
something reasonable.
(b) Label edges and nodes in the graph with the corresponding code
fragments. You may abbreviate predicates as follows when
labeling your graph:
A: o == this
B: !(o instanceof List)
C: e1.hasNext() && e2.hasNext()
C: e1.hasNext() && e2.hasNext()
D: !(o1 == null ? o2 == null :
o1.equals(o2))
E: !(e1.hasNext() $\parallel$ e2.hasNext())
(c) Node coverage requires (at least) four tests on this graph.
Explain why.

@Override
public boolean equals (Object o)
{
if (o this) // A
return true;
if (!(o instanceof List)) // B
return false;
ListIterator e1 = listIterator();
ListIterator e2 = ((List) o).listIterator();
while (e1.hasNext() && e2.hasNext()) // C
{
E 01 e1.next();
Object 02 = e2.next();
if (!(01 = null ? 02 == null: 01.equals (02))) // D
retum false;
}
return (e1.hasNext() || e2.hasNext()); // E
}
Transcribed Image Text:@Override public boolean equals (Object o) { if (o this) // A return true; if (!(o instanceof List)) // B return false; ListIterator e1 = listIterator(); ListIterator e2 = ((List) o).listIterator(); while (e1.hasNext() && e2.hasNext()) // C { E 01 e1.next(); Object 02 = e2.next(); if (!(01 = null ? 02 == null: 01.equals (02))) // D retum false; } return (e1.hasNext() || e2.hasNext()); // E }
Expert Solution
steps

Step by step

Solved in 2 steps with 1 images

Blurred answer
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education