03: Unit Tests

Submit this homework using Gradescope. You can type up your answers, or write legibly and scan them. Do not attempt to submit a paper copy in class, as it will not be accepted.


Write a single concise, correct, and well-formed test method for each of the following requirements. Remember the decorator (@Test), and use the appropriate assertion (which should be one of assertEquals, assertTrue, or assertFalse). Please look at the tests in the projects if you’re not sure what they should look like. (1 point each)

  1. Test the toLowerCase method of String on the string "ASDF".
  2. Test the isLetterOrDigit method of Character on each of the characters 'A', '&', and '2'. (Use three assertions, all in one method.)
  3. Test the max method of Math on two int arguments of your choice.
  4. Test the min method of Math on the same arguments you used in the previous test.

A simple example that might help: Suppose I asked you to test whether the contains method of String correctly locates the string "fun" within the string "functional". Your code could be as simple as:

@Test
public void testContains() {
    assertTrue("functional".contains("fun"));
}

Many of the above might be the same. Note that each of your test methods will have no arguments (parameters) – the “arguments” that 3 and 4 above refer to are the arguments to the max and min methods that you’re testing, not to the test methods itself. Just pick two numbers and hardcode them.