package usecases; import java.io.IOException; import java.nio.file.Files; import java.nio.file.NoSuchFileException; import java.util.Arrays; import javax.annotation.Nonnull; import com.beijunyi.parallelgit.filesystem.AbstractGitFileSystemTest; import org.junit.Test; import static org.junit.Assert.assertEquals; public class FilesSizeTest extends AbstractGitFileSystemTest { @Nonnull private byte[] bytesOfSize(int size) { byte[] data = new byte[size]; Arrays.fill(data, (byte) '.'); return data; } @Test public void sizeOfDirectory_shouldReturnZero() throws IOException { initRepository(); writeToCache("/dir/file.txt"); commitToMaster(); initGitFileSystem(); assertEquals(0, Files.size(gfs.getPath("/dir"))); } @Test public void sizeOfFile_shouldReturnTheLengthOfItsByteArray() throws IOException { initRepository(); writeToCache("/file.txt", bytesOfSize(15)); commitToMaster(); initGitFileSystem(); assertEquals(15, Files.size(gfs.getPath("/file.txt"))); } @Test(expected = NoSuchFileException.class) public void sizeOfNonExistentFile_shouldThrowNoSuchFileException() throws IOException { initGitFileSystem(); Files.size(gfs.getPath("/non_existent_file.txt")); } }