Java Practice Test 1 - Unit Testing and Grading Policy, Exams of Computer Science

A java practice test for a csc 227 spring 2008 course. The test includes various assertions and unit tests for methods such as 'testexpressions', 'testgrade', and 'testoccurencesof'. It also includes exercises for writing for loops, methods, and classes. The test covers topics like conditional statements, arrays, and string manipulation.

Typology: Exams

Pre 2010

Uploaded on 08/31/2009

koofers-user-ona
koofers-user-ona 🇺🇸

9 documents

1 / 4

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
C Sc 227 Spring 2008 Practice Test 1 Your Name ___________________________ /100
1. Write a checkmark Ö to the right of any assertion if it would pass. Leave the line in the comment blank if the assertion
would fail (8pts)
@Test
public void testExpressions() {
int j = 5;
int k = 3;
double x = -1.5;
String s = "U of Arizona";
assertEquals(2, j / k); // a. ______
assertEquals(1, j % k); // b. ______
assertEquals(-0.5, x + 1, 1e-12); // c. ______
assertEquals('U', s.charAt(1)); // d. ______
assertEquals(5, s.indexOf("Arizona")); // e. ______
assertEquals(0, s.indexOf("U of A")); // f. ______
assertTrue(s.compareTo("ASU") > 0); // g. ______
assertEquals(2.0, Math.sqrt(j), 1e-12); // h. ______
}
}
2. Complete the unit test for method grade (fill in the blanks) so it executes every branch of code in the nested selection.
Assume the grade method is in the same unit test as testGrade. The method represents this grading policy (10pts)
Percentage Grade
90.0 percentage "A"
80.0 percentage < 90.0 "B"
70.0 percentage < 80.0 "C"
60.0 percentage < 70.0 "D"
percentage < 60.0 "E"
@Test
public void testGrade() {
assertEquals(___________________________________);
assertEquals(___________________________________);
assertEquals(___________________________________);
assertEquals(___________________________________);
assertEquals(___________________________________);
}
public String grade(double percentage) {
String result = "";
if (percentage >= 90.0)
result = "A";
else if (percentage >= 80.0)
result = "B";
else if (percentage >= 70.0)
result = "C";
else if (percentage >= 60.0)
result = "D";
else
result = "E";
return result;
}
}
1
pf3
pf4

Partial preview of the text

Download Java Practice Test 1 - Unit Testing and Grading Policy and more Exams Computer Science in PDF only on Docsity!

C Sc 227 Spring 2008 Practice Test 1 Your Name ___________________________ /

1. Write a checkmark Ö to the right of any assertion if it would pass. Leave the line in the comment blank if the assertion

would fail (8pts)

@Test public void testExpressions() { int j = 5; int k = 3; double x = -1.5; String s = "U of Arizona"; assertEquals(2, j / k); // a. ______ assertEquals(1, j % k); // b. ______ assertEquals(-0.5, x + 1, 1e-12); // c. ______ assertEquals('U', s.charAt(1)); // d. ______ assertEquals(5, s.indexOf("Arizona")); // e. ______ assertEquals(0, s.indexOf("U of A")); // f. ______ assertTrue(s.compareTo("ASU") > 0); // g. ______ assertEquals(2.0, Math.sqrt(j), 1e-12); // h. ______ } }

2. Complete the unit test for method grade (fill in the blanks) so it executes every branch of code in the nested selection.

Assume the grade method is in the same unit test as testGrade. The method represents this grading policy (10pts)

Percentage Grade

90.0  percentage "A"

80.0  percentage < 90.0 "B"

70.0  percentage < 80.0 "C"

60.0  percentage < 70.0 "D"

percentage < 60.0 "E"

@Test public void testGrade() { assertEquals(___________________________________); assertEquals(___________________________________); assertEquals(___________________________________); assertEquals(___________________________________); assertEquals(___________________________________); } public String grade(double percentage) { String result = ""; if (percentage >= 90.0) result = "A"; else if (percentage >= 80.0) result = "B"; else if (percentage >= 70.0) result = "C"; else if (percentage >= 60.0) result = "D"; else result = "E"; return result; } }

3. How many times will each code fragment print "Hello"? 0, Unknown, and Infinite are legitimate answers (12pts)

int j = 1; int n = 5; while(j <= n) { System.out.print("Hello"); n++; } int j = 1; while(j <= 11) { System.out.print("Hello"); j = j + 3; } int n = 0; for(int j = 1; j < n; j++) { System.out.print("Hello"); } // Tricky Question for(int j = 1; j <= 11; j++); System.out.print("Hello");

4. Write a for loop that prints this sequence of integers: -10 –5 0 5 10 15, … , 5555 (5pts)

5. Write method occurencesOf to return how often a particular int is found in the Scanner argument's input String.

Assume the method occurencesOf is in the same unit test as testOccurencesOf. (9pts)

@Test public void testOccurencesOf() { Scanner scanner = new Scanner("1 2 3 4 1 2 3 1 6"); assertEquals(3, occurencesOf(1, scanner)); assertEquals(1, occurencesOf(6, scanner)); assertEquals(0, occurencesOf(99, scanner)); }

6. Write the output generated by the following code (7pts)

int[] x = { 5, 6, 2, 3, 5 }; int n = x.length; for(int j = n - 1; j > 0; j--) x[j] = x[j-1]; for(int j = 0; j < n; j++) System.out.print(" " + x[j]);

7. Write method exists to return true if a String is found at least once in an array of Strings. If the String is not

found in the array, return false. Assume the method exists is in the same unit test as testExists. (9pts)

@Test public void testExists() { String[] names = { "Li", "Devon", "Sandeep", "Chris", "Regan" }; assertTrue(exists("Li", names, 5)); assertTrue(exists("Sandeep", names, 5)); assertTrue(exists("Regan", names, 5)); assertFalse(exists("NOT HERE", names, 5)); }

9. Add methods toString and removeAllOccurencesOf that removes each occurrence of a given int in an IntList

object. The IntList class must store elements in an array. The code to the left must generate the output shown (20pts)

int[] x = { 1, 5, 3, 4, 5, 5, 5, 6, 5, 8 }; IntList list = new IntList(x); System.out.println(list.toString()); list. removeAllOccurrencesOf(5) ; System.out.println(list.toString());

Output when removing all 5s

Note: toString has a blank after every number

public class IntList { private int[] a; private int n; public IntList(int[] x) { a = x; n = a.length; } // Complete toString @Override public String toString() { // Write all of removeAllOccurrencesOf including the method heading