Skip to content

clean-code-rocks/hamcrest-java-file

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hamcrest - File

Maven Central Javadoc Codecov License: GPL v3 Fossa

Java Hamcrest matchers for files and directories.

Requirement

Java 8+

Installation

Maven

<dependency>
    <groupId>rocks.cleancode</groupId>
    <artifactId>hamcrest-file</artifactId>
    <version>1.0.0</version>
    <scope>test</scope>
</dependency>

Usage

Five matchers are provided:

  • file() / directory(): matches an existing file or directory
  • readable() / writable() / executable(): matches file accessibility

file() / directory()

For java.nio.file.Path

import java.nio.file.Path;
import java.nio.file.Paths;

import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.core.Is.is;
import static rocks.cleancode.hamcrest.file.PathMatchers.directory;
import static rocks.cleancode.hamcrest.file.PathMatchers.file;

Path file = Paths.get("/path/to/file.txt");
Path dir = Paths.get("/path/to/directory");

assertThat(file, is(file()));
assertThat(dir, is(directory()));

For java.io.File

import java.io.File;

import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.core.Is.is;
import static rocks.cleancode.hamcrest.file.FileMatchers.directory;
import static rocks.cleancode.hamcrest.file.FileMatchers.file;

File file = new File("/path/to/file.txt");
File dir = new File("/path/to/directory");

assertThat(file, is(file()));
assertThat(dir, is(directory()));

readable() / writable() / executable()

For java.nio.file.Path

import java.nio.file.Path;
import java.nio.file.Paths;

import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.core.Is.is;
import static rocks.cleancode.hamcrest.file.PathMatchers.executable;
import static rocks.cleancode.hamcrest.file.PathMatchers.readable;
import static rocks.cleancode.hamcrest.file.PathMatchers.writable;

Path path = Paths.get("/path/to/readable/file.txt");

assertThat(path, is(readable()));
assertThat(path, is(writable()));
assertThat(path, is(executable()));

For java.io.File

import java.io.File;

import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.core.Is.is;
import static rocks.cleancode.hamcrest.file.FileMatchers.executable;
import static rocks.cleancode.hamcrest.file.FileMatchers.readable;
import static rocks.cleancode.hamcrest.file.FileMatchers.writable;

File file = new File("/path/to/readable/file.txt");

assertThat(file, is(readable()));
assertThat(file, is(writable()));
assertThat(file, is(executable()));