import static org.junit.jupiter.api.Assertions.*;

import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import org.junit.jupiter.api.Test;

class FileCopierTest {
    @Test
    void testBasicCopy() throws Exception {
        FileCopier.copyFile("test.png", "testOutput.png");

        byte[] fileContent = Files.readAllBytes(Paths.get("test.png"));
        byte[] outputContent = Files.readAllBytes(Paths.get("testOutput.png"));
        assertArrayEquals(fileContent, outputContent);

        (new File("testOutput.png")).delete();
    }

    @Test
    void testFailure() throws Exception {
        assertThrows(IOException.class, () -> {
            FileCopier.copyFile("test2.png", "testOutput.png");
        });
    }
}