Package org.assertj.core.api
Class AbstractFileAssert<SELF extends AbstractFileAssert<SELF>>
java.lang.Object
org.assertj.core.api.AbstractAssert<SELF,File>
org.assertj.core.api.AbstractFileAssert<SELF>
- Type Parameters:
SELF- the "self" type of this assertion class. Please read "Emulating 'self types' using Java Generics to simplify fluent API implementation" for more details.
- All Implemented Interfaces:
Assert<SELF,,File> Descriptable<SELF>,ExtensionPoints<SELF,File>
- Direct Known Subclasses:
FileAssert
public abstract class AbstractFileAssert<SELF extends AbstractFileAssert<SELF>>
extends AbstractAssert<SELF,File>
Base class for all implementations of assertions for
Files.-
Field Summary
FieldsFields inherited from class org.assertj.core.api.AbstractAssert
actual, conditions, info, myself, objects -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncanRead()Verifies that the actualFilecan be read by the application.canWrite()Verifies that the actualFilecan be modified by the application.Verifies that the actualFiledoes not exist.exists()Verifies that the actualFileexists, regardless it's a file or directory.hasBinaryContent(byte[] expected) Verifies that the binary content of the actualFileis exactly equal to the given one.hasContent(String expected) Verifies that the text content of the actualFileis exactly equal to the given one.
The charset to use when reading the file should be provided withusingCharset(Charset)orusingCharset(String)prior to calling this method; if not, the platform's default charset (as returned byCharset.defaultCharset()) will be used.hasContentEqualTo(File expected) Deprecated.hasExtension(String expected) Verifies that the actualFilehas given extension.Verifies that the actualFilehas given name.Verifies that the actualFiledoes not have a parent.Verifies that the actualFilehas given parent.hasSameContentAs(File expected) Verifies that the content of the actualFileis equal to the content of the given one.hasSameContentAs(File expected, Charset expectedCharset) Verifies that the content of the actualFileis the same as the expected one, the expectedFilebeing read with the given charset while the charset used to read the actual path can be provided withusingCharset(Charset)orusingCharset(String)prior to calling this method; if not, the platform's default charset (as returned byCharset.defaultCharset()) will be used.Verifies that the actualFileis an absolute path.Verifies that the actualFileis an existing directory.isFile()Verifies that the actualFileis an existing file.Verifies that the actualFileis a relative path.usingCharset(String charsetName) Specifies the name of the charset to use for text-based assertions on the file's contents.usingCharset(Charset charset) Specifies the charset to use for text-based assertions on the file's contents.Methods inherited from class org.assertj.core.api.AbstractAssert
as, as, asList, asString, describedAs, describedAs, descriptionText, doesNotHave, doesNotHaveSameClassAs, equals, failWithMessage, getWritableAssertionInfo, has, hashCode, hasSameClassAs, hasToString, inBinary, inHexadecimal, is, isEqualTo, isExactlyInstanceOf, isIn, isIn, isInstanceOf, isInstanceOfAny, isInstanceOfSatisfying, isNot, isNotEqualTo, isNotExactlyInstanceOf, isNotIn, isNotIn, isNotInstanceOf, isNotInstanceOfAny, isNotNull, isNotOfAnyClassIn, isNotSameAs, isNull, isOfAnyClassIn, isSameAs, matches, matches, overridingErrorMessage, satisfies, setCustomRepresentation, throwAssertionError, usingComparator, usingDefaultComparator, withFailMessage, withRepresentation, withThreadDumpOnError
-
Field Details
-
Constructor Details
-
AbstractFileAssert
-
-
Method Details
-
exists
Verifies that the actualFileexists, regardless it's a file or directory.Example:
File tmpFile = File.createTempFile("tmp", "txt"); File tmpDir = Files.createTempDirectory("tmpDir").toFile(); // assertions will pass assertThat(tmpFile).exists(); assertThat(tmpDir).exists(); tmpFile.delete(); tmpDir.delete(); // assertions will fail assertThat(tmpFile).exists(); assertThat(tmpDir).exists();- Returns:
thisassertion object.- Throws:
AssertionError- if the actualFileisnull.AssertionError- if the actualFiledoes not exist.
-
doesNotExist
Verifies that the actualFiledoes not exist.Example:
File parentDir = Files.createTempDirectory("tmpDir").toFile(); File tmpDir = new File(parentDir, "subDir"); File tmpFile = new File(parentDir, "a.txt"); // assertions will pass assertThat(tmpDir).doesNotExist(); assertThat(tmpFile).doesNotExist(); tmpDir.mkdir(); tmpFile.createNewFile(); // assertions will fail assertThat(tmpFile).doesNotExist(); assertThat(tmpDir).doesNotExist();- Returns:
thisassertion object.- Throws:
AssertionError- if the actualFileisnull.AssertionError- if the actualFileexists.
-
isFile
Verifies that the actualFileis an existing file.Example:
File tmpFile = File.createTempFile("tmp", "txt"); // assertion will pass assertThat(tmpFile).isFile(); tmpFile.delete(); File tmpDir = Files.createTempDirectory("tmpDir").toFile(); // assertions will fail assertThat(tmpFile).isFile(); assertThat(tmpDir).isFile();- Returns:
thisassertion object.- Throws:
AssertionError- if the actualFileisnull.AssertionError- if the actualFileis not an existing file.
-
isDirectory
Verifies that the actualFileis an existing directory.Example:
File tmpDir = Files.createTempDirectory("tmpDir").toFile(); // assertion will pass assertThat(tmpDir).isDirectory(); tmpDir.delete(); File tmpFile = File.createTempFile("tmp", "txt"); // assertions will fail assertThat(tmpFile).isDirectory(); assertThat(tmpDir).isDirectory();- Returns:
thisassertion object.- Throws:
AssertionError- if the actualFileisnull.AssertionError- if the actualFileis not an existing file.
-
isAbsolute
Verifies that the actualFileis an absolute path.Example:
File absoluteFile = File.createTempFile("tmp", "txt"); // assertions will pass assertThat(absoluteFile).isAbsolute(); File relativeFile = new File("./test"); // assertion will fail assertThat(relativeFile).isAbsolute();- Returns:
thisassertion object.- Throws:
AssertionError- if the actualFileisnull.AssertionError- if the actualFileis not an absolute path.
-
isRelative
Verifies that the actualFileis a relative path.Example:
File relativeFile = new File("./test"); // assertion will pass assertThat(relativeFile).isRelative(); File absoluteFile = File.createTempFile("tmp", "txt"); // assertion will fail assertThat(absoluteFile).isRelative();- Returns:
thisassertion object.- Throws:
AssertionError- if the actualFileisnull.AssertionError- if the actualFileis not a relative path.
-
hasContentEqualTo
Deprecated.usehasSameContentAs(File)insteadVerifies that the content of the actualFileis equal to the content of the given one. The charset to use when reading the actual file can be provided withusingCharset(Charset)orusingCharset(String)prior to calling this method; if not, the platform's default charset (as returned byCharset.defaultCharset()) will be used. Examples:// use the default charset File xFile = Files.write(Paths.get("xfile.txt"), "The Truth Is Out There".getBytes()).toFile(); File xFileClone = Files.write(Paths.get("xfile-clone.txt"), "The Truth Is Out There".getBytes()).toFile(); File xFileFrench = Files.write(Paths.get("xfile-french.txt"), "La Vérité Est Ailleurs".getBytes()).toFile(); // use UTF-8 charset File xFileUTF8 = Files.write(Paths.get("xfile-clone.txt"), Arrays.asList("The Truth Is Out There"), Charset.forName("UTF-8")).toFile(); // The following assertion succeeds (default charset is used): assertThat(xFile).hasSameContentAs(xFileClone); // The following assertion succeeds (UTF-8 charset is used to read xFile): assertThat(xFileUTF8).usingCharset("UTF-8").hasContent(xFileClone); // The following assertion fails: assertThat(xFile).hasSameContentAs(xFileFrench);- Parameters:
expected- the givenFileto compare the actualFileto.- Returns:
thisassertion object.- Throws:
NullPointerException- if the givenFileisnull.IllegalArgumentException- if the givenFileis not an existing file.AssertionError- if the actualFileisnull.AssertionError- if the actualFileis not an existing file.RuntimeIOException- if an I/O error occurs.AssertionError- if the content of the actualFileis not equal to the content of the given one.
-
hasSameContentAs
Verifies that the content of the actualFileis equal to the content of the given one. The charset to use when reading the actual file can be provided withusingCharset(Charset)orusingCharset(String)prior to calling this method; if not, the platform's default charset (as returned byCharset.defaultCharset()) will be used. Examples:// use the default charset File xFile = Files.write(Paths.get("xfile.txt"), "The Truth Is Out There".getBytes()).toFile(); File xFileClone = Files.write(Paths.get("xfile-clone.txt"), "The Truth Is Out There".getBytes()).toFile(); File xFileFrench = Files.write(Paths.get("xfile-french.txt"), "La Vérité Est Ailleurs".getBytes()).toFile(); // use UTF-8 charset File xFileUTF8 = Files.write(Paths.get("xfile-clone.txt"), Arrays.asList("The Truth Is Out There"), Charset.forName("UTF-8")).toFile(); // The following assertion succeeds (default charset is used): assertThat(xFile).hasSameContentAs(xFileClone); // The following assertion succeeds (UTF-8 charset is used to read xFile): assertThat(xFileUTF8).usingCharset("UTF-8").hasContent(xFileClone); // The following assertion fails: assertThat(xFile).hasSameContentAs(xFileFrench);- Parameters:
expected- the givenFileto compare the actualFileto.- Returns:
thisassertion object.- Throws:
NullPointerException- if the givenFileisnull.IllegalArgumentException- if the givenFileis not an existing file.AssertionError- if the actualFileisnull.AssertionError- if the actualFileis not an existing file.RuntimeIOException- if an I/O error occurs.AssertionError- if the content of the actualFileis not equal to the content of the given one.
-
hasSameContentAs
Verifies that the content of the actualFileis the same as the expected one, the expectedFilebeing read with the given charset while the charset used to read the actual path can be provided withusingCharset(Charset)orusingCharset(String)prior to calling this method; if not, the platform's default charset (as returned byCharset.defaultCharset()) will be used.Examples:
File fileUTF8 = Files.write(Paths.get("actual"), Collections.singleton("Gerçek"), StandardCharsets.UTF_8).toFile(); Charset turkishCharset = Charset.forName("windows-1254"); File fileTurkischCharset = Files.write(Paths.get("expected"), Collections.singleton("Gerçek"), turkishCharset).toFile(); // The following assertion succeeds: assertThat(fileUTF8).usingCharset(StandardCharsets.UTF_8).hasSameContentAs(fileTurkischCharset, turkishCharset); // The following assertion fails: assertThat(fileUTF8).usingCharset(StandardCharsets.UTF_8).hasSameContentAs(fileTurkischCharset, StandardCharsets.UTF_8);- Parameters:
expected- the givenFileto compare the actualFileto.expectedCharset- theCharsetused to read the content of the expected file.- Returns:
thisassertion object.- Throws:
NullPointerException- if the givenFileisnull.IllegalArgumentException- if the givenFileis not an existing file.AssertionError- if the actualFileisnull.AssertionError- if the actualFileis not an existing file.RuntimeIOException- if an I/O error occurs.AssertionError- if the content of the actualFileis not equal to the content of the given one.
-
hasBinaryContent
Verifies that the binary content of the actualFileis exactly equal to the given one.Example:
File bin = File.createTempFile("tmp", "bin"); Files.write(bin.toPath(), new byte[] {1, 1}); // assertion will pass assertThat(bin).hasBinaryContent(new byte[] {1, 1}); // assertions will fail assertThat(bin).hasBinaryContent(new byte[] { }); assertThat(bin).hasBinaryContent(new byte[] {0, 0});- Parameters:
expected- the expected binary content to compare the actualFile's content to.- Returns:
thisassertion object.- Throws:
NullPointerException- if the given content isnull.AssertionError- if the actualFileisnull.AssertionError- if the actualFileis not an existing file.RuntimeIOException- if an I/O error occurs.AssertionError- if the content of the actualFileis not equal to the given binary content.
-
usingCharset
Specifies the name of the charset to use for text-based assertions on the file's contents.- Parameters:
charsetName- the name of the charset to use.- Returns:
thisassertion object.- Throws:
IllegalArgumentException- if the given encoding is not supported on this platform.
-
usingCharset
Specifies the charset to use for text-based assertions on the file's contents.- Parameters:
charset- the charset to use.- Returns:
thisassertion object.- Throws:
NullPointerException- if the given charset isnull.
-
hasContent
Verifies that the text content of the actualFileis exactly equal to the given one.
The charset to use when reading the file should be provided withusingCharset(Charset)orusingCharset(String)prior to calling this method; if not, the platform's default charset (as returned byCharset.defaultCharset()) will be used.Example:
// use the default charset File xFile = Files.write(Paths.get("xfile.txt"), "The Truth Is Out There".getBytes()).toFile(); // The following assertion succeeds (default charset is used): assertThat(xFile).hasContent("The Truth Is Out There"); // The following assertion fails: assertThat(xFile).hasContent("La Vérité Est Ailleurs"); // using a specific charset Charset turkishCharset = Charset.forName("windows-1254"); File xFileTurkish = Files.write(Paths.get("xfile.turk"), Collections.singleton("Gerçek"), turkishCharset).toFile(); // The following assertion succeeds: assertThat(xFileTurkish).usingCharset(turkishCharset).hasContent("Gerçek"); // The following assertion fails : assertThat(xFileTurkish).usingCharset(StandardCharsets.UTF_8).hasContent("Gerçek");- Parameters:
expected- the expected text content to compare the actualFile's content to.- Returns:
thisassertion object.- Throws:
NullPointerException- if the given content isnull.AssertionError- if the actualFileisnull.AssertionError- if the actualFileis not an existing file.RuntimeIOException- if an I/O error occurs.AssertionError- if the content of the actualFileis not equal to the given content.
-
canWrite
Verifies that the actualFilecan be modified by the application.Example:
File tmpFile = File.createTempFile("tmp", "txt"); File tmpDir = Files.createTempDirectory("tmp").toFile(); // assertions will pass assertThat(tmpFile).canWrite(); assertThat(tmpDir).canWrite(); tmpFile.setReadOnly(); tmpDir.setReadOnly(); // assertions will fail assertThat(tmpFile).canWrite(); assertThat(tmpDir).canWrite();- Returns:
thisassertion object.- Throws:
AssertionError- if the actualFileisnull.AssertionError- if the actualFilecan not be modified by the application.
-
canRead
Verifies that the actualFilecan be read by the application.Example:
File tmpFile = File.createTempFile("tmp", "txt"); File tmpDir = Files.createTempDirectory("tmp").toFile(); // assertions will pass assertThat(tmpFile).canRead(); assertThat(tmpDir).canRead(); tmpFile.setReadable(false); tmpDir.setReadable(false); // assertions will fail assertThat(tmpFile).canRead(); assertThat(tmpDir).canRead();- Returns:
thisassertion object.- Throws:
AssertionError- if the actualFileisnull.AssertionError- if the actualFilecan not be read by the application.
-
hasParent
Verifies that the actualFilehas given parent.Example:
File xFile = new File("mulder/xFile"); // assertion will pass assertThat(xFile).hasParent(new File("mulder")); // assertion will fail assertThat(xFile).hasParent(new File("scully"));- Parameters:
expected- the expected parentFile.- Returns:
thisassertion object.- Throws:
NullPointerException- if the expected parentFileisnull.RuntimeIOException- if an I/O error occurs.AssertionError- if the actualFileisnull.AssertionError- if the actualFileparent is not equal to the expected one.- See Also:
-
hasParent
Same ashasParent(java.io.File)but takes care of converting givenStringasFilefor youExample:
File xFile = new File("mulder/xFile"); // assertion will pass assertThat(xFile).hasParent("mulder"); // assertion will fail assertThat(xFile).hasParent("scully"); -
hasExtension
Verifies that the actualFilehas given extension.Example:
File xFile = new File("xFile.java"); // assertion will pass assertThat(xFile).hasExtension("java"); // assertion will fail assertThat(xFile).hasExtension("png");- Parameters:
expected- the expected extension, it does not contains the'.'- Returns:
thisassertion object.- Throws:
NullPointerException- if the expected extension isnull.AssertionError- if the actualFileisnull.AssertionError- if the actualFileis not a file (ie a directory).AssertionError- if the actualFiledoes not have the expected extension.- See Also:
-
hasName
Verifies that the actualFilehas given name.Example:
File xFile = new File("somewhere/xFile.java"); File xDirectory = new File("somewhere/xDirectory"); // assertion will pass assertThat(xFile).hasName("xFile.java"); assertThat(xDirectory).hasName("xDirectory"); // assertion will fail assertThat(xFile).hasName("xFile"); assertThat(xDirectory).hasName("somewhere");- Parameters:
expected- the expectedFilename.- Returns:
thisassertion object.- Throws:
NullPointerException- if the expected name isnull.AssertionError- if the actualFileisnull.AssertionError- if the actualFiledoes not have the expected name.- See Also:
-
hasNoParent
Verifies that the actualFiledoes not have a parent.Example:
File xFile = new File("somewhere/xFile.java"); File xDirectory = new File("xDirectory"); // assertion will pass assertThat(xDirectory).hasNoParent(); // assertion will fail assertThat(xFile).hasNoParent();- Returns:
thisassertion object.- Throws:
AssertionError- if the actualFileisnull.AssertionError- if the actualFilehas a parent.
-
hasSameContentAs(File)instead