Skip to content

fix: HasFilesMatching for more than one matching file #60

fix: HasFilesMatching for more than one matching file

fix: HasFilesMatching for more than one matching file #60

GitHub Actions / Ubuntu Tests succeeded Aug 21, 2023 in 1s

Ubuntu Tests ✅

Tests passed successfully

Report Passed Failed Skipped Time
_fv-az447-433_2023-08-21_09_48_39.trx 97✅ 3s
_fv-az447-433_2023-08-21_09_48_42.trx 97✅ 2s

✅ _fv-az447-433_2023-08-21_09_48_39.trx

97 tests were completed in 3s with 97 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
Testably.Abstractions.FluentAssertions.Tests.DirectoryAssertionsTests 6✅ 26ms
Testably.Abstractions.FluentAssertions.Tests.DirectoryInfoAssertionsTests 5✅ 199ms
Testably.Abstractions.FluentAssertions.Tests.FileAssertionsTests 17✅ 60ms
Testably.Abstractions.FluentAssertions.Tests.FileInfoAssertionsTests 24✅ 71ms
Testably.Abstractions.FluentAssertions.Tests.FileSystemAssertionsTests 24✅ 33ms
Testably.Abstractions.FluentAssertions.Tests.FileSystemInfoAssertionsTests 8✅ 200ms
Testably.Abstractions.FluentAssertions.Tests.MatchTests 13✅ 2ms

✅ Testably.Abstractions.FluentAssertions.Tests.DirectoryAssertionsTests

✅ HasFileMatching_InvalidFileName_ShouldThrow(invalidFileName: "", because: "becausef1631dd0-94e1-4d53-8239-ddc2f0fc68f7")
✅ HasFileMatching_InvalidFileName_ShouldThrow(invalidFileName: null, because: "because8ae73ea7-44ee-4a6a-9302-fe0fe69630f4")
✅ HasFileMatching_WithMatchingFile_ShouldNotThrow(directoryName: "directoryNamebeb35d41-a86a-413d-a0b6-128e21ac0ca9", fileName: "fileName7944005a-ca89-4370-a280-fa962d167e42")
✅ HasFileMatching_WithoutMatchingFile_ShouldThrow(directoryName: "directoryName51d1363f-301d-4e49-bddd-97045dd4648a", fileName: "fileNamece5b76c8-8508-4d59-bcf6-a11a2ddd6de4", because: "because33e75e5e-a5ee-49fc-a07f-9fcad650c0b6")
✅ HasFilesMatching_WithoutTooLittleFiles_ShouldThrow(matchingCount: 1, expectedCount: 2, directoryName: "directoryName76373460-76ae-42c1-a935-a0f6db76ca58", fileNamePrefix: "fileNamePrefix70ff8fd9-3433-49ab-b3fb-d8321bc10853", because: "becausee53f70d9-e822-4ac6-9e0c-e5d3cebf1c43")
✅ HasFilesMatching_WithoutTooLittleFiles_ShouldThrow(matchingCount: 3, expectedCount: 5, directoryName: "directoryNamea78df4a7-48ba-4f14-9e0a-34f961b7636d", fileNamePrefix: "fileNamePrefix86d10273-df4d-43d3-9882-480810cf34ae", because: "because07e56933-0844-4d46-9b20-fee8b425df68")

✅ Testably.Abstractions.FluentAssertions.Tests.DirectoryInfoAssertionsTests

✅ HaveFileMatching_InvalidFileName_ShouldThrow(invalidFileName: "", because: "because7f698f1a-43e1-42c8-9dc3-76fe55aa9139")
✅ HaveFileMatching_InvalidFileName_ShouldThrow(invalidFileName: null, because: "because7524f343-1ad8-492e-b433-6a32209e207d")
✅ HaveFileMatching_Null_ShouldThrow(because: "because9daaffa2-11b3-45ee-b6a5-57704e0e3c66")
✅ HaveFileMatching_WithMatchingFile_ShouldNotThrow(directoryName: "directoryName04e88562-b6ab-4f71-ba35-8faff712b2b2", fileName: "fileName67d6d2cd-9da0-4f80-bb37-1545bbde3eba")
✅ HaveFileMatching_WithoutMatchingFile_ShouldThrow(directoryName: "directoryNamef9155371-86b3-4cd0-972a-5503899d92a8", fileName: "fileName648d8ce9-156d-4abe-9b68-a0d7cf8e1c28", because: "because1e4e854b-c539-4c94-8479-f5ec4ae8b20c")

✅ Testably.Abstractions.FluentAssertions.Tests.FileAssertionsTests

✅ DoesNotHaveAttribute_WithAttribute_ShouldThrow(fileDescription: FileDescription { Bytes = null, Content = "content62b5a3a4-debe-4013-8695-da13c7191962", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "name3c645403-2089-45f6-ac48-6b4b29d45919" }, because: "because435324da-3163-4316-9723-19fccb5a20d4")
✅ DoesNotHaveAttribute_WithoutAttribute_ShouldNotThrow(fileDescription: FileDescription { Bytes = null, Content = "content0db55d29-87ad-422b-9326-f53b30130b8a", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "name5e6fce63-dcab-48cf-8aa0-50f6161a1351" })
✅ HasAttribute_WithAttribute_ShouldNotThrow(fileDescription: FileDescription { Bytes = null, Content = "content5a7801de-2a89-433b-9d94-9f180cdc0c3f", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "name2602a184-5133-4fd0-8a16-7a2e55a23585" })
✅ HasAttribute_WithoutAttribute_ShouldThrow(fileDescription: FileDescription { Bytes = null, Content = "content0c28e864-9d4b-467b-9a7b-8e8a12fee7f1", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "name64f9f83d-83df-4aec-8df6-d8331931911a" }, because: "becausee73e71f7-89c5-4dde-a07a-de4c42adfbee")
✅ HasContent_Bytes_FullContent_ShouldNotThrow(bytes: [120, 160, 186], fileName: "fileNameb56628d6-cf6d-4947-8a5b-cb2423e62ff1")
✅ HasContent_Bytes_OnlyPartOfContent_ShouldNotThrow(bytes: [200, 217, 169], fileName: "fileName29e6a0c6-447c-4883-8e08-66c2867a2525", because: "because2a6dfb0b-b30a-4ba0-aa95-408251f0330b")
✅ HasContent_FullContent_ShouldNotThrow(content: "content3135fc85-3569-46f8-a98a-3ffce567b715", fileName: "fileName8cfd11e4-f4c1-4f58-ad62-1e4d50cbbf7e")
✅ HasContent_FullContent_WithEncoding_ShouldNotThrow(encoding: UTF8EncodingSealed { BodyName = "utf-8", CodePage = 65001, DecoderFallback = DecoderReplacementFallback { DefaultString = "�", MaxCharCount = 1 }, EncoderFallback = EncoderReplacementFallback { DefaultString = "�", MaxCharCount = 1 }, EncodingName = "Unicode (UTF-8)", ··· }, content: "content06c5abed-cc13-425d-86a8-339f10d5c2e8", fileName: "fileNamef418ea42-6c9c-4744-93b3-7774d0c57610")
✅ HasContent_OnlyPartOfContentWithoutWildcards_ShouldThrow(content: "contentc2d557ea-a57a-4b85-8781-96d54d289914", fileName: "fileName6ae8e4b0-c0aa-4dce-ab92-4b315ea18b49", because: "because16512c7e-9737-4d96-bc2f-ad3399826b4d")
✅ HasContent_OnlyPartOfContentWithoutWildcards_WithEncoding_ShouldThrow(encoding: UTF8EncodingSealed { BodyName = "utf-8", CodePage = 65001, DecoderFallback = DecoderReplacementFallback { DefaultString = "�", MaxCharCount = 1 }, EncoderFallback = EncoderReplacementFallback { DefaultString = "�", MaxCharCount = 1 }, EncodingName = "Unicode (UTF-8)", ··· }, content: "content77efa0e6-1178-404c-833c-b2c49ba8eff2", fileName: "fileName3e637b21-498d-4212-8a60-b019aabe5a1e", because: "because82ca63aa-478b-40ca-ac97-224c65229747")
✅ HasContent_OnlyPartOfContentWithWildcard_ShouldNotThrow(content: "contentbd48010c-38ee-47b1-bb14-00dc7adf40dc", fileName: "fileName45cc0aa4-9321-4397-b37f-44a8e8d8d792")
✅ HasContent_OnlyPartOfContentWithWildcard_WithEncoding_ShouldNotThrow(encoding: UTF8EncodingSealed { BodyName = "utf-8", CodePage = 65001, DecoderFallback = DecoderReplacementFallback { DefaultString = "�", MaxCharCount = 1 }, EncoderFallback = EncoderReplacementFallback { DefaultString = "�", MaxCharCount = 1 }, EncodingName = "Unicode (UTF-8)", ··· }, content: "contenta186f1f0-6a6e-485c-939f-8f5927b4e157", fileName: "fileNamedcce01c8-dc15-4838-bb8b-65658b2c2c1c")
✅ HasContent_WithEncodingMismatch_ShouldThrow(fileName: "fileName09c26609-ca75-4283-9f8c-055ba1a9aa1a", because: "because7f2068d8-417a-458a-b62f-718b8140bbb2")
✅ IsNotReadOnly_WithReadOnlyFile_ShouldThrow(fileDescription: FileDescription { Bytes = null, Content = "contentda036ec4-185f-46a9-ab4e-ca985a35247b", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "namec9335020-63c5-443f-acad-b4c77fa47d9b" }, because: "because394d5328-0f05-46e7-b1f7-8f954c44efef")
✅ IsNotReadOnly_WithWritableFile_ShouldNotThrow(fileDescription: FileDescription { Bytes = null, Content = "content2c9fe83b-1e0b-430e-af28-6e552230dd88", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "name730bee16-4215-489e-9ea9-4e1da5c713f5" })
✅ IsReadOnly_WithReadOnlyFile_ShouldNotThrow(fileDescription: FileDescription { Bytes = null, Content = "content9c269bf0-7518-489f-812c-6d3fe80d7039", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "name04ffc3af-4041-48a2-aa2f-8a7b121f08cb" })
✅ IsReadOnly_WithWritableFile_ShouldThrow(fileDescription: FileDescription { Bytes = null, Content = "content55860b6d-8a50-4d60-a0cc-938921d387d5", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "name2c5a9862-15cf-41a8-95a3-542634a2e2a4" }, because: "becauseb14e961a-93b5-457e-b9e3-890a7608f54d")

✅ Testably.Abstractions.FluentAssertions.Tests.FileInfoAssertionsTests

✅ BeReadOnly_Null_ShouldThrow(because: "because411cd2a8-618c-4060-9763-f4e3aa666b8c")
✅ BeReadOnly_WithReadOnlyFile_ShouldNotThrow(fileDescription: FileDescription { Bytes = null, Content = "contentf3ca8264-1051-4c6a-932b-0ccff17434d9", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "namefbc6e4dd-cedc-4409-b1f9-d038f083f824" })
✅ BeReadOnly_WithWritableFile_ShouldThrow(fileDescription: FileDescription { Bytes = null, Content = "content1f17b7d6-1433-462f-b5f4-f421f5bc895d", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "namea8b85d44-6abf-4870-86cc-a93e1a22ffa6" }, because: "because4c35bc74-6a62-455c-9722-51f8012a83e6")
✅ HaveAttribute_Null_ShouldThrow(because: "becausef814cd67-a49f-4893-82ee-5056b7237dc1")
✅ HaveAttribute_WithAttribute_ShouldNotThrow(fileDescription: FileDescription { Bytes = null, Content = "content77935d70-7d9f-473d-95f5-ceb7d0b61274", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "name01dcd81d-69ac-4aeb-8889-28967af5d04c" })
✅ HaveAttribute_WithoutAttribute_ShouldThrow(fileDescription: FileDescription { Bytes = null, Content = "contentcd09b79c-cb5a-4e96-8541-faa9d3c1780f", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "name8d1d9790-ccb5-41b7-8c72-cd5064f654a5" }, because: "because38d03430-5f64-4b38-91ad-2024b8b4d15d")
✅ HaveContent_Bytes_FullContent_ShouldNotThrow(bytes: [67, 130, 158], fileName: "fileNameee929592-5ceb-4a48-9bae-9d75cab493fc")
✅ HaveContent_Bytes_Null_ShouldThrow(bytes: [114, 226, 246], because: "becausec1cd3096-f49a-4f73-ae15-eefffd6fbc32")
✅ HaveContent_Bytes_OnlyPartOfContent_ShouldNotThrow(bytes: [94, 65, 160], fileName: "fileName2b053042-1111-4339-b6f3-579eb6f990f2", because: "becauseea02b949-a73e-4ba0-b122-fa304373d824")
✅ HaveContent_FullContent_ShouldNotThrow(content: "content4a7dbcc4-9c29-4cf5-867d-2b2a7d7d85df", fileName: "fileName5d6aa343-f12a-4649-8d42-eba0e2f2f5c8")
✅ HaveContent_FullContent_WithEncoding_ShouldNotThrow(encoding: UTF8EncodingSealed { BodyName = "utf-8", CodePage = 65001, DecoderFallback = DecoderReplacementFallback { DefaultString = "�", MaxCharCount = 1 }, EncoderFallback = EncoderReplacementFallback { DefaultString = "�", MaxCharCount = 1 }, EncodingName = "Unicode (UTF-8)", ··· }, content: "contentce5c5b6a-1fa2-4fa8-af3a-31cf9c5406f7", fileName: "fileName20d05c52-8857-4a5e-9910-f3eb6806cd8a")
✅ HaveContent_OnlyPartOfContentWithoutWildcards_ShouldThrow(content: "contenta94db2db-8919-4db8-9f60-b1dccaa34a0f", fileName: "fileNamea1580dee-98c5-4dac-815c-d44464307425", because: "because0d3faa7a-e322-4e5d-b6e8-e6d98ab2ceec")
✅ HaveContent_OnlyPartOfContentWithoutWildcards_WithEncoding_ShouldThrow(encoding: UTF8EncodingSealed { BodyName = "utf-8", CodePage = 65001, DecoderFallback = DecoderReplacementFallback { DefaultString = "�", MaxCharCount = 1 }, EncoderFallback = EncoderReplacementFallback { DefaultString = "�", MaxCharCount = 1 }, EncodingName = "Unicode (UTF-8)", ··· }, content: "content736883ba-2649-4c8c-9655-e8265b1ab67c", fileName: "fileName6f6cd47a-0dd4-4b1d-9a78-faa762a0d2fc", because: "becausebc57f6c9-9af1-48e0-9ac6-69d36d81b187")
✅ HaveContent_OnlyPartOfContentWithWildcard_ShouldNotThrow(content: "content3738b8a6-6167-40f8-b1a2-39cd6fb0b9ff", fileName: "fileNamef6204ede-3ad4-44fb-9822-a11d1dc6f83f")
✅ HaveContent_OnlyPartOfContentWithWildcard_WithEncoding_ShouldNotThrow(encoding: UTF8EncodingSealed { BodyName = "utf-8", CodePage = 65001, DecoderFallback = DecoderReplacementFallback { DefaultString = "�", MaxCharCount = 1 }, EncoderFallback = EncoderReplacementFallback { DefaultString = "�", MaxCharCount = 1 }, EncodingName = "Unicode (UTF-8)", ··· }, content: "content18483fc5-c3a0-4560-bb1f-3d35d2fe0a0e", fileName: "fileName55105542-a36d-4c7f-831b-b83a17a85986")
✅ HaveContent_StringContent_Null_ShouldThrow(content: "content4242f239-3324-4322-a2ff-f5d3827b26be", because: "becauseefe73f03-c419-4794-8797-d3993ff17b71")
✅ HaveContent_StringContent_WithEncoding_Null_ShouldThrow(encoding: UTF8EncodingSealed { BodyName = "utf-8", CodePage = 65001, DecoderFallback = DecoderReplacementFallback { DefaultString = "�", MaxCharCount = 1 }, EncoderFallback = EncoderReplacementFallback { DefaultString = "�", MaxCharCount = 1 }, EncodingName = "Unicode (UTF-8)", ··· }, content: "content2c4d2248-0ded-46ff-8757-b72a0ae3407d", because: "because0fcb60c4-bb6c-4c10-a975-fe787256ae9d")
✅ HaveContent_WithEncodingMismatch_ShouldThrow(fileName: "fileNamedb669ffa-4563-4dd6-9cae-1d57c1b54445", because: "because30927b09-bf22-46ac-a146-ea43f8c254e6")
✅ NotBeReadOnly_Null_ShouldThrow(because: "because6dc3542f-fcaa-426e-b8ab-486143ea3efd")
✅ NotBeReadOnly_WithReadOnlyFile_ShouldThrow(fileDescription: FileDescription { Bytes = null, Content = "content35f83f97-e5ab-44a9-b2d8-21d2003789b9", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "nameae1ad814-a535-479d-be3c-9dfafce79b70" }, because: "becausea9b2f2f5-4a00-4c70-af52-4614fb8c3e0b")
✅ NotBeReadOnly_WithWritableFile_ShouldNotThrow(fileDescription: FileDescription { Bytes = null, Content = "contentb6f3c732-388b-4b38-a179-f9b38d3ebcc1", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "namec51a1a38-a1ff-4576-9553-f7a147976dee" })
✅ NotHaveAttribute_Null_ShouldThrow(because: "because4bff84fd-f079-4fc3-924d-2440056e318a")
✅ NotHaveAttribute_WithAttribute_ShouldThrow(fileDescription: FileDescription { Bytes = null, Content = "content2e1399ed-c8bc-4581-9a1a-277b2f0f00e5", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "namee4ca0ea8-40e7-4cbd-a288-d77f190f9f9e" }, because: "because717cc056-cc1c-4a2a-9fa8-20a4e8504a2b")
✅ NotHaveAttribute_WithoutAttribute_ShouldNotThrow(fileDescription: FileDescription { Bytes = null, Content = "content1df08d06-a22f-4ec7-9fd6-d34828738086", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "name355db2fe-6ed9-4f89-bcc6-da23c602dd2c" })

✅ Testably.Abstractions.FluentAssertions.Tests.FileSystemAssertionsTests

✅ HaveDirectory_And_WithMultipleDirectories_ShouldNotThrow(path1: "path187e90364-0b37-431d-b7ea-1b11c5f55657", path2: "path23296684a-f108-485e-8615-c9b88d4c45e9")
✅ HaveDirectory_And_WithOnlyOneDirectory_ShouldThrow(path1: "path170727b7c-7c33-4fe5-83e9-a76c71c5e58a", path2: "path26ab419f6-5c32-42e0-8210-997fe25722da")
✅ HaveDirectory_InvalidPath_ShouldThrow(invalidPath: "", because: "becauseaa3ae294-e091-46bc-96a3-f8dc57cbf366")
✅ HaveDirectory_InvalidPath_ShouldThrow(invalidPath: null, because: "becausef4c281a6-fa3a-49c9-a699-9319d97bd65b")
✅ HaveDirectory_WithDirectory_ShouldNotThrow(path: "path412e0b85-c813-4caa-a5b2-6a9d50766e48")
✅ HaveDirectory_WithoutDirectory_ShouldThrow(path: "path67a9bab3-5b39-4cd4-9791-c8c5990c978e", because: "because81d41df1-cdc6-4443-82af-d9797e8dc7d1")
✅ HaveFile_And_WithMultipleFiles_ShouldNotThrow(path1: "path1f381b11f-f6c5-4ead-8373-3791f58195e2", path2: "path2d1d10cdd-e7a9-4030-b36c-1ee5ec7d04d5")
✅ HaveFile_And_WithOnlyOneFile_ShouldThrow(path1: "path19e335fa3-3240-4aa5-818b-241164340f5e", path2: "path23b87c1bc-e647-4cde-a30d-94e99a7849ed")
✅ HaveFile_InvalidPath_ShouldThrow(invalidPath: "", because: "because706421ee-f13c-4397-bf48-3f33fedd8c6a")
✅ HaveFile_InvalidPath_ShouldThrow(invalidPath: null, because: "becausefb5a3cd2-55bf-4e81-8849-4a25244f88ae")
✅ HaveFile_WithFile_ShouldNotThrow(path: "path41427b43-39e7-4241-a4aa-44d1851524ea")
✅ HaveFile_WithoutFile_ShouldThrow(path: "pathf7bbc4f3-817a-467f-a1b7-fe24be8da937", because: "because01e6742f-f20b-4129-a65b-1a03befb774d")
✅ NotHaveDirectory_And_WithOnlyOneDirectory_ShouldThrow(path1: "path18aa96133-edf2-4788-a887-e549fd59ca0d", path2: "path2865a3c94-5715-44d0-b1e3-ea674e572856")
✅ NotHaveDirectory_And_WithoutAnyDirectories_ShouldNotThrow(path1: "path19dd09039-8448-4204-ae95-be38519cfcec", path2: "path28f182b28-9c59-4ba7-bbb9-dad551c290be")
✅ NotHaveDirectory_InvalidPath_ShouldThrow(invalidPath: "", because: "because14b8aaa7-9115-4ae7-8414-765c9f241d01")
✅ NotHaveDirectory_InvalidPath_ShouldThrow(invalidPath: null, because: "because8b953a3c-6d39-4e83-bd76-745227408c38")
✅ NotHaveDirectory_WithDirectory_ShouldThrow(path: "path05c45d04-30e4-4922-9036-4c9fa0090ae7", because: "because4bd31e70-6136-4f30-a216-e7dca0aabde5")
✅ NotHaveDirectory_WithoutDirectory_ShouldNotThrow(path: "pathce80ee24-0539-4b6b-b714-ae51dfa085b9")
✅ NotHaveFile_And_WithOnlyOneFile_ShouldThrow(path1: "path1552f9bb5-2999-461b-92c1-2d8f0c6d1409", path2: "path245ad6e32-9b49-4ee5-b269-855f0c24ec51")
✅ NotHaveFile_And_WithoutAnyFiles_ShouldNotThrow(path1: "path1a4988178-f6a0-4c5e-b712-e01404da9fe1", path2: "path2a794060a-9d30-451b-85e4-4b94094e8a25")
✅ NotHaveFile_InvalidPath_ShouldThrow(invalidPath: "", because: "becauseb350e67f-9724-4db7-8af1-35786e6a4d8e")
✅ NotHaveFile_InvalidPath_ShouldThrow(invalidPath: null, because: "becausea3282677-f0af-4e17-93c2-5a2a691f7daf")
✅ NotHaveFile_WithFile_ShouldThrow(path: "path7e350210-3d37-4625-9178-9d53e00379e6", because: "because56dbb434-5cf1-4460-81a8-74d1acb7ec8e")
✅ NotHaveFile_WithoutFile_ShouldNotThrow(path: "path1cc50c42-d2e3-4847-b096-3fcdceab4266")

✅ Testably.Abstractions.FluentAssertions.Tests.FileSystemInfoAssertionsTests

✅ Exist_ForDirectoryInfo_Null_ShouldThrow(because: "because01dce33a-21d9-42e4-9dec-94925cf1f6df")
✅ Exist_ForDirectoryInfo_WithCorrectDirectory_ShouldNotThrow(directoryName: "directoryName55b9f4f9-e0f8-4fad-90d1-f91ce91c4c3a")
✅ Exist_ForDirectoryInfo_WithoutCorrectDirectory_ShouldThrow(directoryName: "directoryName876842d8-4b19-49ff-80d5-54eee366b862", because: "becausee98b5efe-c2cc-4759-8669-73e7c173ba70")
✅ Exist_ForDirectoryInfo_WithSameFile_ShouldThrow(fileName: "fileName63d1751f-9211-490c-af4b-6c35e4da7c91", because: "becaused588529b-a28a-41ae-8a4b-56534953e0f4")
✅ Exist_ForFileInfo_Null_ShouldThrow(because: "because5211729c-96f4-4ffd-8d17-0fb8edd88715")
✅ Exist_ForFileInfo_WithCorrectFile_ShouldNotThrow(fileName: "fileName4d0d1c1f-b644-4b3b-a8aa-8756d9eaaa51")
✅ Exist_ForFileInfo_WithoutCorrectFile_ShouldThrow(fileName: "fileName9d105064-b229-4977-a9cf-e78d58d038c9", because: "because88e4ae23-d504-4eeb-b6f6-e5c5093e3693")
✅ Exist_ForFileInfo_WithSameDirectory_ShouldThrow(fileName: "fileNamedc384784-e589-46c2-8f46-0fd817d2360e", because: "becausec1ad2eaa-fab5-4a49-baf0-66d6f69ecc9b")

✅ Testably.Abstractions.FluentAssertions.Tests.MatchTests

✅ ImplicitCast_FromNull_ShouldUseEmptyString(pattern: "")
✅ ImplicitCast_FromNull_ShouldUseEmptyString(pattern: null)
✅ Wildcard_MatchesNull_ShouldReturnFalse
✅ Wildcard_ShouldReturnValidRegexMatchingExpectedResult(wildcard: "*", testInput: "Foo.Bar", expectedResult: True)
✅ Wildcard_ShouldReturnValidRegexMatchingExpectedResult(wildcard: "Foo?Bar", testInput: "Foo.Bar", expectedResult: True)
✅ Wildcard_ShouldReturnValidRegexMatchingExpectedResult(wildcard: "Foo?r", testInput: "Foo.Bar", expectedResult: False)
✅ Wildcard_ShouldReturnValidRegexMatchingExpectedResult(wildcard: "Foo", testInput: "Foo", expectedResult: True)
✅ Wildcard_ShouldReturnValidRegexMatchingExpectedResult(wildcard: "Foo", testInput: "xFoo.Bar", expectedResult: False)
✅ Wildcard_ShouldReturnValidRegexMatchingExpectedResult(wildcard: "Foo", testInput: "xFoo", expectedResult: False)
✅ Wildcard_ShouldReturnValidRegexMatchingExpectedResult(wildcard: "Foo*", testInput: "Foo.Bar", expectedResult: True)
✅ Wildcard_ShouldReturnValidRegexMatchingExpectedResult(wildcard: "Foo*r", testInput: "Foo.Bar", expectedResult: True)
✅ Wildcard_WithIgnoreCase_ShouldConsiderFlag(ignoreCase: False)
✅ Wildcard_WithIgnoreCase_ShouldConsiderFlag(ignoreCase: True)

✅ _fv-az447-433_2023-08-21_09_48_42.trx

97 tests were completed in 2s with 97 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
Testably.Abstractions.FluentAssertions.Tests.DirectoryAssertionsTests 6✅ 162ms
Testably.Abstractions.FluentAssertions.Tests.DirectoryInfoAssertionsTests 5✅ 20ms
Testably.Abstractions.FluentAssertions.Tests.FileAssertionsTests 17✅ 34ms
Testably.Abstractions.FluentAssertions.Tests.FileInfoAssertionsTests 24✅ 37ms
Testably.Abstractions.FluentAssertions.Tests.FileSystemAssertionsTests 24✅ 188ms
Testably.Abstractions.FluentAssertions.Tests.FileSystemInfoAssertionsTests 8✅ 43ms
Testably.Abstractions.FluentAssertions.Tests.MatchTests 13✅ 4ms

✅ Testably.Abstractions.FluentAssertions.Tests.DirectoryAssertionsTests

✅ HasFileMatching_InvalidFileName_ShouldThrow(invalidFileName: "", because: "becauseaf344620-5ba0-4a51-bbef-0434d547d632")
✅ HasFileMatching_InvalidFileName_ShouldThrow(invalidFileName: null, because: "because753b7fc7-b826-4b64-ba07-dceb36a2b37a")
✅ HasFileMatching_WithMatchingFile_ShouldNotThrow(directoryName: "directoryNamed67f7f89-2f5a-48b5-80f3-53bcb646f1a7", fileName: "fileName67ddd184-8da1-47d2-84b2-4652966fa851")
✅ HasFileMatching_WithoutMatchingFile_ShouldThrow(directoryName: "directoryName20f26154-aa2a-4bea-bf6f-1464b94009b4", fileName: "fileNamedf651d9f-7720-4cee-b78c-b688fb9f9a94", because: "because67684b56-c93f-4ca8-9c9e-1142bfff9384")
✅ HasFilesMatching_WithoutTooLittleFiles_ShouldThrow(matchingCount: 1, expectedCount: 2, directoryName: "directoryName661406ba-a80c-46d2-ab52-08cf2935c1cc", fileNamePrefix: "fileNamePrefix2d761dbf-60ee-4266-b0e9-b2750dbee76f", because: "because9013a958-c1d4-4999-97b3-aa3d97a04bfc")
✅ HasFilesMatching_WithoutTooLittleFiles_ShouldThrow(matchingCount: 3, expectedCount: 5, directoryName: "directoryNamef3d84167-fb88-4b06-8e2d-516f66cfef24", fileNamePrefix: "fileNamePrefix6a2973fb-2c4f-4dd2-a7f9-e2600cd87155", because: "because749f083b-70ff-4e80-bbe3-7606db2a6b38")

✅ Testably.Abstractions.FluentAssertions.Tests.DirectoryInfoAssertionsTests

✅ HaveFileMatching_InvalidFileName_ShouldThrow(invalidFileName: "", because: "because20d77eaf-b224-4aa8-b72d-a9516ce850fc")
✅ HaveFileMatching_InvalidFileName_ShouldThrow(invalidFileName: null, because: "because7e5e5261-021f-4adb-8ba4-d81660501c3f")
✅ HaveFileMatching_Null_ShouldThrow(because: "becausedbcf9fa2-8663-4552-81a5-278e3f47be53")
✅ HaveFileMatching_WithMatchingFile_ShouldNotThrow(directoryName: "directoryNamea5f4ed71-2c15-48c5-be0c-ee3359920998", fileName: "fileName6ffb71ac-69fe-473d-b6c7-5c74a376582c")
✅ HaveFileMatching_WithoutMatchingFile_ShouldThrow(directoryName: "directoryName98ecd7f8-e815-4207-bdfb-4f8bc00d10ab", fileName: "fileName3af3a977-220a-4e9b-9bd0-ce4670333fba", because: "becauseb9db6847-05cb-4a2b-b8cc-34fca4b0e53a")

✅ Testably.Abstractions.FluentAssertions.Tests.FileAssertionsTests

✅ DoesNotHaveAttribute_WithAttribute_ShouldThrow(fileDescription: FileDescription { Bytes = null, Content = "contentc3ee89e0-826f-450b-81c7-0137aa9b1ad7", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "name80e60c1e-c7fd-4af6-aa0c-8e15d41b9112" }, because: "because306807df-84c7-4f82-b6cb-1a4f4674759f")
✅ DoesNotHaveAttribute_WithoutAttribute_ShouldNotThrow(fileDescription: FileDescription { Bytes = null, Content = "contentcb54034d-ebe2-4d83-9e1b-6142e75351a1", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "name7cd5fc67-45f3-4fe1-a6e5-669dc8630cdc" })
✅ HasAttribute_WithAttribute_ShouldNotThrow(fileDescription: FileDescription { Bytes = null, Content = "content51144348-a188-4f80-9c8f-0273703eda5c", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "name08c91aef-833b-4f8d-a3db-8e70706e3e20" })
✅ HasAttribute_WithoutAttribute_ShouldThrow(fileDescription: FileDescription { Bytes = null, Content = "contenta77d6df4-ea44-4b34-a9fa-e4c92d117c90", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "nameac111def-72b1-4e31-87f5-fe5f92c4a4bb" }, because: "because5979e014-98ff-44e4-9779-9778ec8a3e6d")
✅ HasContent_Bytes_FullContent_ShouldNotThrow(bytes: [228, 14, 89], fileName: "fileNamef09551fb-c230-4a28-9616-0620aa8115e8")
✅ HasContent_Bytes_OnlyPartOfContent_ShouldNotThrow(bytes: [34, 163, 16], fileName: "fileNamed55ffa49-6f3f-4738-8ba9-2b85bc049e1b", because: "because7b8dac6c-5fa2-4cf9-9722-174f686ad439")
✅ HasContent_FullContent_ShouldNotThrow(content: "content86ce0787-1079-40fe-86bc-dccb8825c4d1", fileName: "fileName03916cd6-3e1a-4326-81e6-9aa795d4ac20")
✅ HasContent_FullContent_WithEncoding_ShouldNotThrow(encoding: UTF8EncodingSealed { BodyName = "utf-8", CodePage = 65001, DecoderFallback = DecoderReplacementFallback { DefaultString = "�", MaxCharCount = 1 }, EncoderFallback = EncoderReplacementFallback { DefaultString = "�", MaxCharCount = 1 }, EncodingName = "Unicode (UTF-8)", ··· }, content: "content55934db4-df40-4dde-9960-124a261b9c8b", fileName: "fileName2d8bb03b-c31a-4697-955a-67d91109ecd9")
✅ HasContent_OnlyPartOfContentWithoutWildcards_ShouldThrow(content: "content889350b2-23b8-4ee4-964e-371afceef2e0", fileName: "fileNameac3cfb11-4978-46f7-958d-0bcce31bb771", because: "becausec4dc4102-d719-4d25-adfc-fb0ab18e34f8")
✅ HasContent_OnlyPartOfContentWithoutWildcards_WithEncoding_ShouldThrow(encoding: UTF8EncodingSealed { BodyName = "utf-8", CodePage = 65001, DecoderFallback = DecoderReplacementFallback { DefaultString = "�", MaxCharCount = 1 }, EncoderFallback = EncoderReplacementFallback { DefaultString = "�", MaxCharCount = 1 }, EncodingName = "Unicode (UTF-8)", ··· }, content: "contenta99ba05d-2ce4-4362-a95b-dcb54da9f576", fileName: "fileName79f2db7a-a74f-45f3-9e6f-05f6b299f305", because: "because99e1ed48-c570-4862-ad6a-31dc87aafe72")
✅ HasContent_OnlyPartOfContentWithWildcard_ShouldNotThrow(content: "content9eb3ade4-6883-4958-963f-d44043d5373b", fileName: "fileName09043fe8-075a-4f1f-b0b8-118efe9d75f0")
✅ HasContent_OnlyPartOfContentWithWildcard_WithEncoding_ShouldNotThrow(encoding: UTF8EncodingSealed { BodyName = "utf-8", CodePage = 65001, DecoderFallback = DecoderReplacementFallback { DefaultString = "�", MaxCharCount = 1 }, EncoderFallback = EncoderReplacementFallback { DefaultString = "�", MaxCharCount = 1 }, EncodingName = "Unicode (UTF-8)", ··· }, content: "contentc1517c8d-78df-4a4e-8e8e-c63cb0034376", fileName: "fileNamede206687-e54a-493b-8e07-72c4fdae39d1")
✅ HasContent_WithEncodingMismatch_ShouldThrow(fileName: "fileName408585b1-8ffb-41b6-8b69-0056091a28a2", because: "because871e2257-4dda-47e3-a9df-b911404a02ae")
✅ IsNotReadOnly_WithReadOnlyFile_ShouldThrow(fileDescription: FileDescription { Bytes = null, Content = "contentd0a09c8b-e06f-4d44-b39c-9e0c88e5a5ce", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "named752a124-95d3-417c-9ba7-bf19dfb9e3cf" }, because: "becauseda7d470e-78d8-40e6-8149-75adade5807b")
✅ IsNotReadOnly_WithWritableFile_ShouldNotThrow(fileDescription: FileDescription { Bytes = null, Content = "content0bac5750-10ab-4f6d-85ca-55c9bc94afe9", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "name830ae2b1-f3b5-4bc2-bf42-aa1013a612ea" })
✅ IsReadOnly_WithReadOnlyFile_ShouldNotThrow(fileDescription: FileDescription { Bytes = null, Content = "content381d1763-5452-4250-86bb-6be4b66906f1", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "name53d3c3a1-cc1f-4df4-a8cb-9cc451c7ebb4" })
✅ IsReadOnly_WithWritableFile_ShouldThrow(fileDescription: FileDescription { Bytes = null, Content = "content33ee634a-82b4-4144-aac6-6a64c1f717c5", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "name540da9bd-c588-4940-bf18-760b5b040590" }, because: "because7bb17a8c-5d76-49ae-8fe3-277f493641bf")

✅ Testably.Abstractions.FluentAssertions.Tests.FileInfoAssertionsTests

✅ BeReadOnly_Null_ShouldThrow(because: "because7876bfd2-6c83-44eb-a434-1e3180119d2b")
✅ BeReadOnly_WithReadOnlyFile_ShouldNotThrow(fileDescription: FileDescription { Bytes = null, Content = "content73f57509-b9eb-4a3b-a4f3-eb636dc8e413", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "name43f4afc8-a79c-40b1-b8f4-019d66275bdf" })
✅ BeReadOnly_WithWritableFile_ShouldThrow(fileDescription: FileDescription { Bytes = null, Content = "contentbfeae811-6f20-4e7f-8158-b6844c504bd5", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "name26f14b16-6d50-4668-b53d-9f124fdcb636" }, because: "because7ab41f4f-b163-4bcc-92c2-f1e2838b101f")
✅ HaveAttribute_Null_ShouldThrow(because: "becauseb39dd06b-d446-4937-bc3c-583367969f7b")
✅ HaveAttribute_WithAttribute_ShouldNotThrow(fileDescription: FileDescription { Bytes = null, Content = "contentc105cdba-3596-4869-8886-e98ba61f3e37", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "namefa1b4908-00f3-4859-9994-06d85ed6ad0c" })
✅ HaveAttribute_WithoutAttribute_ShouldThrow(fileDescription: FileDescription { Bytes = null, Content = "content3304c23c-f16a-403f-9a0a-978d546ce855", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "name4e501a45-f7a7-462c-904f-0ed86e131b62" }, because: "because4bb772da-adfe-4999-b65e-6919c5500bb7")
✅ HaveContent_Bytes_FullContent_ShouldNotThrow(bytes: [153, 191, 199], fileName: "fileName70d303ab-38e9-4a74-bfbe-d3ebefaaf2df")
✅ HaveContent_Bytes_Null_ShouldThrow(bytes: [121, 193, 83], because: "because75e7cb3c-2607-45a4-883a-4c2496d44617")
✅ HaveContent_Bytes_OnlyPartOfContent_ShouldNotThrow(bytes: [200, 114, 113], fileName: "fileNamead7d9bd0-301f-4bea-9730-01c52aa2df8b", because: "because04e2e166-e308-467b-aa10-1772870d30e0")
✅ HaveContent_FullContent_ShouldNotThrow(content: "content0137150d-ef11-4656-bac1-fa378e09e4cb", fileName: "fileNamea4b69f32-96e1-4fec-ba26-4d40db4f72be")
✅ HaveContent_FullContent_WithEncoding_ShouldNotThrow(encoding: UTF8EncodingSealed { BodyName = "utf-8", CodePage = 65001, DecoderFallback = DecoderReplacementFallback { DefaultString = "�", MaxCharCount = 1 }, EncoderFallback = EncoderReplacementFallback { DefaultString = "�", MaxCharCount = 1 }, EncodingName = "Unicode (UTF-8)", ··· }, content: "contentde504f15-16b2-41ae-8799-8e4fb6a09a72", fileName: "fileName8acaa291-a094-4ea1-aa51-2c80cabad2a8")
✅ HaveContent_OnlyPartOfContentWithoutWildcards_ShouldThrow(content: "content437ceca1-98cb-47d7-9c78-431990bd636c", fileName: "fileName63153a01-7ae6-45dd-81b9-61abe8fe338b", because: "because257904c0-bad2-43a4-b08d-6cab6dd9ca57")
✅ HaveContent_OnlyPartOfContentWithoutWildcards_WithEncoding_ShouldThrow(encoding: UTF8EncodingSealed { BodyName = "utf-8", CodePage = 65001, DecoderFallback = DecoderReplacementFallback { DefaultString = "�", MaxCharCount = 1 }, EncoderFallback = EncoderReplacementFallback { DefaultString = "�", MaxCharCount = 1 }, EncodingName = "Unicode (UTF-8)", ··· }, content: "content703911a6-4ef6-4be4-ab5c-670e98f897bd", fileName: "fileNamefeaac40e-8229-48f5-9930-9a9328d4811c", because: "because7e965b51-62a1-41de-97eb-a24fe93a595b")
✅ HaveContent_OnlyPartOfContentWithWildcard_ShouldNotThrow(content: "contentd88321f3-7bea-46b5-b720-3633f79ba23d", fileName: "fileNameee73ea7c-f360-4040-8734-4af379541931")
✅ HaveContent_OnlyPartOfContentWithWildcard_WithEncoding_ShouldNotThrow(encoding: UTF8EncodingSealed { BodyName = "utf-8", CodePage = 65001, DecoderFallback = DecoderReplacementFallback { DefaultString = "�", MaxCharCount = 1 }, EncoderFallback = EncoderReplacementFallback { DefaultString = "�", MaxCharCount = 1 }, EncodingName = "Unicode (UTF-8)", ··· }, content: "contentb19738d0-8778-4f19-8985-13b7b4d61a45", fileName: "fileNameaf49b9e5-42f3-495b-b0f8-cebf1c3b27d4")
✅ HaveContent_StringContent_Null_ShouldThrow(content: "contentc38d5075-21bb-4c78-b720-bae2e5efba03", because: "because89fab5aa-f1d7-4680-bdd8-ab283c67ce39")
✅ HaveContent_StringContent_WithEncoding_Null_ShouldThrow(encoding: UTF8EncodingSealed { BodyName = "utf-8", CodePage = 65001, DecoderFallback = DecoderReplacementFallback { DefaultString = "�", MaxCharCount = 1 }, EncoderFallback = EncoderReplacementFallback { DefaultString = "�", MaxCharCount = 1 }, EncodingName = "Unicode (UTF-8)", ··· }, content: "contentce18d0cb-9d90-4c8a-8125-ccf781a759c4", because: "because2d3219eb-a667-4070-b996-3b6cc4250ac0")
✅ HaveContent_WithEncodingMismatch_ShouldThrow(fileName: "fileNamebe3f7b7c-412a-4a1c-9fb6-06fd2fdcdcf7", because: "because1b420ab3-29e9-4aa9-88f1-c0c6bdafda6e")
✅ NotBeReadOnly_Null_ShouldThrow(because: "becausee84d3b65-5f90-4f63-916c-f8a33787dccd")
✅ NotBeReadOnly_WithReadOnlyFile_ShouldThrow(fileDescription: FileDescription { Bytes = null, Content = "content30e51900-7894-4b9e-b2cc-baffe2439186", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "nameb0deea6c-6f04-415b-abdc-c509e367c69e" }, because: "because999375e2-0a27-4f51-b3c6-30ba7ec1ce73")
✅ NotBeReadOnly_WithWritableFile_ShouldNotThrow(fileDescription: FileDescription { Bytes = null, Content = "content801d3034-2ac5-48ca-b148-47d708ab34a7", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "namea31bf9b9-04cb-4cc6-9a46-0f1b19bf131e" })
✅ NotHaveAttribute_Null_ShouldThrow(because: "because97f96d08-9f3c-4c1c-92fb-48c7e41e45b4")
✅ NotHaveAttribute_WithAttribute_ShouldThrow(fileDescription: FileDescription { Bytes = null, Content = "contentd929b104-99e4-4e61-beb5-76576ffad947", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "name1e142fbe-f777-420d-8c74-64c50261ac18" }, because: "because6da1e669-2b6b-4eee-911b-d75a678bb8ce")
✅ NotHaveAttribute_WithoutAttribute_ShouldNotThrow(fileDescription: FileDescription { Bytes = null, Content = "content185438cb-f05a-4e96-a17c-1c243f34e644", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "namea934acf5-b3f5-42b0-b2c1-78641d529fa2" })

✅ Testably.Abstractions.FluentAssertions.Tests.FileSystemAssertionsTests

✅ HaveDirectory_And_WithMultipleDirectories_ShouldNotThrow(path1: "path12f72e8ac-41e2-4ba0-a814-9c0fb111f4ed", path2: "path2a3b4d09c-e77b-4b2e-87bd-ca1fcabac473")
✅ HaveDirectory_And_WithOnlyOneDirectory_ShouldThrow(path1: "path176610416-1758-4a45-b519-c78782049452", path2: "path27ca64dbe-8f47-48d2-b642-39b676c7d36b")
✅ HaveDirectory_InvalidPath_ShouldThrow(invalidPath: "", because: "because30d0d1e4-7bdb-470d-894f-bc3a8d4d7c0d")
✅ HaveDirectory_InvalidPath_ShouldThrow(invalidPath: null, because: "becausebc1a73ad-cdc5-4ca3-b8a4-e7ded0b60008")
✅ HaveDirectory_WithDirectory_ShouldNotThrow(path: "patha912afda-39ed-46c1-94af-1c22435e5691")
✅ HaveDirectory_WithoutDirectory_ShouldThrow(path: "path90c9ce6b-801c-456c-9adb-0125ba0bb18d", because: "because33137ff4-9cb2-43f5-9bea-9a22dd717375")
✅ HaveFile_And_WithMultipleFiles_ShouldNotThrow(path1: "path1260f0be1-e313-4a1f-8a32-1552cc713c44", path2: "path2b8d4e7ff-4def-454c-8b3d-90281e7879ec")
✅ HaveFile_And_WithOnlyOneFile_ShouldThrow(path1: "path121f723e4-9911-4996-99e3-f913ecf6e9ca", path2: "path26903876f-c2ae-4ea7-b106-62e1839d6d92")
✅ HaveFile_InvalidPath_ShouldThrow(invalidPath: "", because: "becauseb176db7c-3c11-48d6-9001-4b3325e19ada")
✅ HaveFile_InvalidPath_ShouldThrow(invalidPath: null, because: "because7ee68d17-f7ca-4e39-a0c2-eab6ca144244")
✅ HaveFile_WithFile_ShouldNotThrow(path: "patha83c64b1-e961-42c8-9058-dd1b818a80be")
✅ HaveFile_WithoutFile_ShouldThrow(path: "pathca2b0bb9-7c8f-4376-a820-0332cd6abf6e", because: "becauseb9ff4f31-911c-4d8d-af02-615dfd135c3d")
✅ NotHaveDirectory_And_WithOnlyOneDirectory_ShouldThrow(path1: "path139a31a72-9ca5-4a68-994a-ac7a0f256b85", path2: "path23fec562e-f8b7-448c-88ac-4e7db4fe8982")
✅ NotHaveDirectory_And_WithoutAnyDirectories_ShouldNotThrow(path1: "path116650668-79bb-49f9-91a7-0785b72ae4ac", path2: "path2cfefc907-f8cc-4196-a621-a88237e24338")
✅ NotHaveDirectory_InvalidPath_ShouldThrow(invalidPath: "", because: "becausee7d63455-c9a5-45a2-86fc-1561fbfea9df")
✅ NotHaveDirectory_InvalidPath_ShouldThrow(invalidPath: null, because: "becaused9414686-66e7-4636-9db8-33e6fdd86f2a")
✅ NotHaveDirectory_WithDirectory_ShouldThrow(path: "path441b87f0-910a-42dc-bfb5-b6f20fa7af2d", because: "becaused6e6ad59-8a02-42a8-9c90-ce4b0205190d")
✅ NotHaveDirectory_WithoutDirectory_ShouldNotThrow(path: "pathd85f1be0-afa4-490b-ae74-f13d554dd665")
✅ NotHaveFile_And_WithOnlyOneFile_ShouldThrow(path1: "path1fc496415-8621-4965-b6dc-9924459426de", path2: "path283c50434-1618-418f-bcb7-0d6fb12868c9")
✅ NotHaveFile_And_WithoutAnyFiles_ShouldNotThrow(path1: "path122b5fafa-61f2-4e8c-a547-60c4b282a0df", path2: "path2dd83baac-99bf-4825-b55b-3fbd5a370013")
✅ NotHaveFile_InvalidPath_ShouldThrow(invalidPath: "", because: "because69f061fd-be2a-4169-b585-52f97c868243")
✅ NotHaveFile_InvalidPath_ShouldThrow(invalidPath: null, because: "because0443ccb5-d1db-4716-a967-dc2a7fa11410")
✅ NotHaveFile_WithFile_ShouldThrow(path: "path85f52464-1ebc-4ea1-8cf5-6dd991af1d97", because: "becauseebd063f4-bbd2-460e-a5a5-151d8469eed0")
✅ NotHaveFile_WithoutFile_ShouldNotThrow(path: "path285c6205-88c9-4b79-96e7-8936201e3fe3")

✅ Testably.Abstractions.FluentAssertions.Tests.FileSystemInfoAssertionsTests

✅ Exist_ForDirectoryInfo_Null_ShouldThrow(because: "because1445d73f-506f-47c9-af4a-08a2719fc129")
✅ Exist_ForDirectoryInfo_WithCorrectDirectory_ShouldNotThrow(directoryName: "directoryName3248666f-dfe1-4cf5-bd66-e56d37b1bb3f")
✅ Exist_ForDirectoryInfo_WithoutCorrectDirectory_ShouldThrow(directoryName: "directoryName256bbe38-5412-4689-b3c8-6c59df129c0c", because: "because8cf7e378-467c-4f80-8127-64d9559f10d2")
✅ Exist_ForDirectoryInfo_WithSameFile_ShouldThrow(fileName: "fileName3c9b254f-947d-43be-82d0-a12d75ecd717", because: "becauseeafc1fad-462e-45ad-9118-7fe27de3df16")
✅ Exist_ForFileInfo_Null_ShouldThrow(because: "because8db5e63c-6774-45c6-affd-b4973d2b866d")
✅ Exist_ForFileInfo_WithCorrectFile_ShouldNotThrow(fileName: "fileName53a681fd-be71-4697-86a5-eb60be01f797")
✅ Exist_ForFileInfo_WithoutCorrectFile_ShouldThrow(fileName: "fileName3a9a1db5-3119-4deb-addc-05f3ca8b921a", because: "becausee2431389-99bf-4c28-94e4-307fc57b37cd")
✅ Exist_ForFileInfo_WithSameDirectory_ShouldThrow(fileName: "fileNamed0b789a3-7feb-4299-ae53-4e3679d2fddb", because: "because37b7d710-b7e1-499c-b07a-6e160fbc5f7a")

✅ Testably.Abstractions.FluentAssertions.Tests.MatchTests

✅ ImplicitCast_FromNull_ShouldUseEmptyString(pattern: "")
✅ ImplicitCast_FromNull_ShouldUseEmptyString(pattern: null)
✅ Wildcard_MatchesNull_ShouldReturnFalse
✅ Wildcard_ShouldReturnValidRegexMatchingExpectedResult(wildcard: "*", testInput: "Foo.Bar", expectedResult: True)
✅ Wildcard_ShouldReturnValidRegexMatchingExpectedResult(wildcard: "Foo?Bar", testInput: "Foo.Bar", expectedResult: True)
✅ Wildcard_ShouldReturnValidRegexMatchingExpectedResult(wildcard: "Foo?r", testInput: "Foo.Bar", expectedResult: False)
✅ Wildcard_ShouldReturnValidRegexMatchingExpectedResult(wildcard: "Foo", testInput: "Foo", expectedResult: True)
✅ Wildcard_ShouldReturnValidRegexMatchingExpectedResult(wildcard: "Foo", testInput: "xFoo.Bar", expectedResult: False)
✅ Wildcard_ShouldReturnValidRegexMatchingExpectedResult(wildcard: "Foo", testInput: "xFoo", expectedResult: False)
✅ Wildcard_ShouldReturnValidRegexMatchingExpectedResult(wildcard: "Foo*", testInput: "Foo.Bar", expectedResult: True)
✅ Wildcard_ShouldReturnValidRegexMatchingExpectedResult(wildcard: "Foo*r", testInput: "Foo.Bar", expectedResult: True)
✅ Wildcard_WithIgnoreCase_ShouldConsiderFlag(ignoreCase: False)
✅ Wildcard_WithIgnoreCase_ShouldConsiderFlag(ignoreCase: True)