@Test
public void testMkfile() throws IOException {

    // Assert that a file can be created when it doesn't already exist (without throwing an IOException)
    tempFile.mkfile();
    // Assert that the file exists after it has been created
    assert tempFile.exists();
    // Assert that an IOException is thrown when the file already exists
    boolean ioExceptionThrown = false;
    try {
        tempFile.mkfile();
    }
    catch(IOException e) {
        ioExceptionThrown = true;
    }
    assert ioExceptionThrown;
    // Assert that an IOException is thrown when a directory exists
    tempFile.delete();
    tempFile.mkdir();
    ioExceptionThrown = false;
    try {
        tempFile.mkfile();
    }
    catch(IOException e) {
        ioExceptionThrown = true;
    }
    assert ioExceptionThrown;
}