### Question:
Name { public String getFullName() { if (isValidString(firstName) && isValidString(middleName) && isValidString(surname)) { return firstName + " " + middleName + " " + surname; } else { throw new RuntimeException("Invalid Name Values"); } } Name(String christianName, String middleName, String surname); String getFirstName(); String getMiddleName(); String getSurname(); String getFullName();  }### Answer:
@Test public void testGetFullName_with_valid_input() { instance = new Name("John", "Stephen", "Smith"); final String expected = "John Stephen Smith"; String result = instance.getFullName(); assertEquals(expected, result); }
@Test(expected = RuntimeException.class) public void testGetFullName_with_null_firstName() { instance = new Name(null, "Stephen", "Smith"); instance.getFullName(); }
@Test(expected = RuntimeException.class) public void testGetFullName_with_null_middleName() { instance = new Name("John", null, "Smith"); instance.getFullName(); }
@Test(expected = RuntimeException.class) public void testGetFullName_with_null_surname() { instance = new Name("John", "Stephen", null); instance.getFullName(); }
@Test(expected = RuntimeException.class) public void testGetFullName_with_no_firstName() { instance = new Name("", "Stephen", "Smith"); instance.getFullName(); }
@Test(expected = RuntimeException.class) public void testGetFullName_with_no_middleName() { instance = new Name("John", "", "Smith"); instance.getFullName(); }
@Test(expected = RuntimeException.class) public void testGetFullName_with_no_surname() { instance = new Name("John", "Stephen", ""); instance.getFullName(); }