Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add assertion for HasAttribute and DoesNotHaveAttribute for files #33

Merged
merged 1 commit into from
Aug 21, 2023

Add assertion for HasAttribute and DoesNotHaveAttribute for files

98e1868
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
Merged

feat: add assertion for HasAttribute and DoesNotHaveAttribute for files #33

Add assertion for HasAttribute and DoesNotHaveAttribute for files
98e1868
Select commit
Loading
Failed to load commit list.
GitHub Actions / Ubuntu Tests succeeded Aug 21, 2023 in 1s

Ubuntu Tests ✅

Tests passed successfully

Report Passed Failed Skipped Time
_fv-az247-528_2023-08-21_09_34_00.trx 95✅ 4s
_fv-az247-528_2023-08-21_09_34_03.trx 95✅ 2s

✅ _fv-az247-528_2023-08-21_09_34_00.trx

95 tests were completed in 4s with 95 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
Testably.Abstractions.FluentAssertions.Tests.DirectoryAssertionsTests 4✅ 7ms
Testably.Abstractions.FluentAssertions.Tests.DirectoryInfoAssertionsTests 5✅ 250ms
Testably.Abstractions.FluentAssertions.Tests.FileAssertionsTests 17✅ 40ms
Testably.Abstractions.FluentAssertions.Tests.FileInfoAssertionsTests 24✅ 278ms
Testably.Abstractions.FluentAssertions.Tests.FileSystemAssertionsTests 24✅ 33ms
Testably.Abstractions.FluentAssertions.Tests.FileSystemInfoAssertionsTests 8✅ 22ms
Testably.Abstractions.FluentAssertions.Tests.MatchTests 13✅ 48ms

✅ Testably.Abstractions.FluentAssertions.Tests.DirectoryAssertionsTests

✅ HasFileMatching_InvalidFileName_ShouldThrow(invalidFileName: "", because: "becausec74c6971-7f30-463e-adf4-e063aa6406c1")
✅ HasFileMatching_InvalidFileName_ShouldThrow(invalidFileName: null, because: "becausef69b1f77-8f71-4dd6-ba7b-8ad1cd548cd7")
✅ HasFileMatching_WithMatchingFile_ShouldNotThrow(directoryName: "directoryNamef4eb5684-c8ee-4f62-b22b-5dea40589c5d", fileName: "fileNameb95987bf-8910-4538-a952-d864351cb7a7")
✅ HasFileMatching_WithoutMatchingFile_ShouldThrow(directoryName: "directoryNamef4c8dad9-a7a5-485e-8c61-ae84715df42f", fileName: "fileNamea38c61ca-29a3-476a-953a-b9838c9f9df7", because: "because13cb2335-5895-42bf-b617-07561196e8d2")

✅ Testably.Abstractions.FluentAssertions.Tests.DirectoryInfoAssertionsTests

✅ HaveFileMatching_InvalidFileName_ShouldThrow(invalidFileName: "", because: "becausedc73f7a0-bd53-4950-b1a0-ce241e2897ad")
✅ HaveFileMatching_InvalidFileName_ShouldThrow(invalidFileName: null, because: "becausecf150fc1-eeda-4a49-8ead-46b25ea3fedc")
✅ HaveFileMatching_Null_ShouldThrow(because: "because5a218681-17c0-407d-9cd9-02649bd0a86c")
✅ HaveFileMatching_WithMatchingFile_ShouldNotThrow(directoryName: "directoryName6a521231-0869-47f6-aa02-122cbd882fad", fileName: "fileName971b8971-07a9-4bc0-9c81-37791fc928d3")
✅ HaveFileMatching_WithoutMatchingFile_ShouldThrow(directoryName: "directoryName9c1535e0-3979-4aae-9bf3-39ea08075e28", fileName: "fileNameb32ccce4-9d20-4b84-afe9-04ba54bd6842", because: "because1cf0d5c6-aa8b-4843-a4b8-a0947f08f1fc")

✅ Testably.Abstractions.FluentAssertions.Tests.FileAssertionsTests

✅ DoesNotHaveAttribute_WithAttribute_ShouldThrow(fileDescription: FileDescription { Bytes = null, Content = "contenta5594c5a-c9b4-4a93-b9ed-84102a77a762", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "name59f48e43-7252-4fea-b529-70c98873b469" }, because: "because8d4edd3f-9a81-4735-a8bb-431291ec04a4")
✅ DoesNotHaveAttribute_WithoutAttribute_ShouldNotThrow(fileDescription: FileDescription { Bytes = null, Content = "content7b52c256-1a83-43b1-b523-a91c1c745b7b", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "namec921b843-0d3c-450c-99f5-b98ee825fc1c" })
✅ HasAttribute_WithAttribute_ShouldNotThrow(fileDescription: FileDescription { Bytes = null, Content = "content5f58823f-5047-49ca-a77b-545ba8e3e837", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "namecb162a7b-c23a-4a7d-bcd6-e95811c7c426" })
✅ HasAttribute_WithoutAttribute_ShouldThrow(fileDescription: FileDescription { Bytes = null, Content = "content99a9f026-125a-4b56-903f-6b778080d7a4", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "name656fdaed-14c9-49f6-978f-aa8a1cac0cab" }, because: "becausea7f9086d-413c-4dc1-8169-b775d29946f1")
✅ HasContent_Bytes_FullContent_ShouldNotThrow(bytes: [71, 150, 52], fileName: "fileName226256ed-cf3a-4016-8308-74ee4593a3e3")
✅ HasContent_Bytes_OnlyPartOfContent_ShouldNotThrow(bytes: [248, 126, 111], fileName: "fileName51c1bdf8-be2f-411b-b3e9-a0e336f50a44", because: "because40b1b8cb-8d71-47ef-bd0d-506490456206")
✅ HasContent_FullContent_ShouldNotThrow(content: "contentba30861f-e9a4-4831-bb4d-729fd2a5963a", fileName: "fileNamed3aa0f61-04bd-4934-8c0e-85c3f7ed08d1")
✅ 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: "content53246339-4954-4bd0-8da7-b95a62aa5743", fileName: "fileName94c291e3-cd24-4b15-a472-dd8b4b5e976c")
✅ HasContent_OnlyPartOfContentWithoutWildcards_ShouldThrow(content: "contente134ad2a-071a-43d0-9f76-03dd1a2afd4e", fileName: "fileName37b1ef6f-785b-4a4b-a99f-d34e97444fed", because: "because1027396f-1c13-45a6-9f20-a8da29f1da30")
✅ 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: "content9d78000a-82d8-45a4-a5dc-f39694bcfd55", fileName: "fileName89f5b427-5d04-4e8f-b423-b8656db24f25", because: "becausec6dfe38d-0296-41e1-add1-48163969bd96")
✅ HasContent_OnlyPartOfContentWithWildcard_ShouldNotThrow(content: "content6afd789c-614e-4526-8e15-8de553ac1a19", fileName: "fileName91f295c7-7dfd-47e8-8481-12cbc538bfb3")
✅ 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: "contentb7ca3e6d-0c44-4639-b167-2948d1f45767", fileName: "fileNameb68a6734-59e6-4433-a1b9-22190b485caa")
✅ HasContent_WithEncodingMismatch_ShouldThrow(fileName: "fileName560559bc-2f93-4a40-a748-893ea935a08b", because: "because4a0d9e70-cd0a-4587-b7f6-8a4f588ec51f")
✅ IsNotReadOnly_WithReadOnlyFile_ShouldThrow(fileDescription: FileDescription { Bytes = null, Content = "content4eb974c5-0237-49a7-a49c-13aeddd5faab", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "namea5ae9259-f330-41b3-888b-c199df8b2fbb" }, because: "becausef84114ca-3767-4d5c-b269-8d052f33f953")
✅ IsNotReadOnly_WithWritableFile_ShouldNotThrow(fileDescription: FileDescription { Bytes = null, Content = "content4626a7a7-ee49-4299-86fa-06a33e9c4212", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "namedf052fde-301e-4bab-b0d1-5c2226ce5295" })
✅ IsReadOnly_WithReadOnlyFile_ShouldNotThrow(fileDescription: FileDescription { Bytes = null, Content = "content120c9f5d-984a-4972-a952-dc97f4408a1d", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "namea5c8dcdc-893b-4844-bfa8-b586f7597ad2" })
✅ IsReadOnly_WithWritableFile_ShouldThrow(fileDescription: FileDescription { Bytes = null, Content = "content0e1d77bd-e818-4011-91fd-fe9f70f545ae", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "nameb10ac9ec-2f3b-4385-a954-9b9a6432ba76" }, because: "because4ea76c9e-4f32-4b1a-801e-31d95121686a")

✅ Testably.Abstractions.FluentAssertions.Tests.FileInfoAssertionsTests

✅ BeReadOnly_Null_ShouldThrow(because: "because96b52c31-d026-4a5a-a132-1225e6224cd0")
✅ BeReadOnly_WithReadOnlyFile_ShouldNotThrow(fileDescription: FileDescription { Bytes = null, Content = "contentbc451fb4-b5d3-4c0d-bdf9-b919db6fcf76", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "name67151504-d7da-4a4a-b7e2-efad5218081e" })
✅ BeReadOnly_WithWritableFile_ShouldThrow(fileDescription: FileDescription { Bytes = null, Content = "content490df409-6c13-4e3a-9270-fe094277eaed", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "name51143d97-08d0-4fb3-8bae-8f0f199666a5" }, because: "becausecba869a6-78d6-4862-933c-21d3ac88cbd9")
✅ HaveAttribute_Null_ShouldThrow(because: "because7cf06142-20cc-40bc-aa85-1c027fb6a154")
✅ HaveAttribute_WithAttribute_ShouldNotThrow(fileDescription: FileDescription { Bytes = null, Content = "contenta36fffa9-ed6d-41d3-9a35-4afbc3df139c", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "name747df1a0-812c-4163-8c64-744d7ff99eda" })
✅ HaveAttribute_WithoutAttribute_ShouldThrow(fileDescription: FileDescription { Bytes = null, Content = "content89f8e3d8-269f-4391-aff9-a60dceeb4058", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "name08d6b15d-07e0-4e40-9ceb-c72deecbd194" }, because: "becausef93f608d-d543-4361-aab4-55d25179c8f8")
✅ HaveContent_Bytes_FullContent_ShouldNotThrow(bytes: [148, 88, 169], fileName: "fileName6c13e97e-f18d-4cc4-986d-b57befbb9af1")
✅ HaveContent_Bytes_Null_ShouldThrow(bytes: [235, 171, 6], because: "because3f48ec56-5690-4eab-ad8b-36e3519742bf")
✅ HaveContent_Bytes_OnlyPartOfContent_ShouldNotThrow(bytes: [50, 249, 124], fileName: "fileNamebdf6c6fb-7c47-45dc-8e10-6f820500233c", because: "becauseca8a1466-c324-45ce-9eda-a2fc2e708676")
✅ HaveContent_FullContent_ShouldNotThrow(content: "content7f245847-6ac3-4bde-a889-073c82644e51", fileName: "fileNamefaebbaa0-d77b-4c5f-b5ed-87f6c6fee453")
✅ 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: "contentf70122dc-f74e-4415-9e15-a65d03b72c04", fileName: "fileName4ff1fbc3-ffb0-4920-90b1-9efcd26ae654")
✅ HaveContent_OnlyPartOfContentWithoutWildcards_ShouldThrow(content: "contenta7959543-671f-4104-bb4d-30c23ea57039", fileName: "fileName25b9d399-370c-4e6e-b287-b54ec4c6e66f", because: "because5a55d54c-91c9-4329-af4e-cbcfc9749d92")
✅ 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: "content1717b1dd-0d5b-4fdb-bd90-a4ef2e1e6270", fileName: "fileName430daa6a-b292-49ea-97fe-2b4f8a09811a", because: "becaused83b74ef-8115-4ee5-9f07-cbfedf3145fb")
✅ HaveContent_OnlyPartOfContentWithWildcard_ShouldNotThrow(content: "contentc1f2c5d9-f8a0-4db0-a79d-e675ba640bc5", fileName: "fileNamee64168af-b539-46a8-999c-74ff137c99bc")
✅ 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: "content96a84ecf-8eb6-4a5e-b861-a09e31584760", fileName: "fileName7d7fe336-7a78-409c-b079-f0bf39b047db")
✅ HaveContent_StringContent_Null_ShouldThrow(content: "contentddca5c72-8f66-4efc-ab40-e513212b6476", because: "because2f2c70a9-7f16-4405-8704-7bbdd6fb19ff")
✅ 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: "content53b95046-cd66-4f56-9d78-14a0121b558a", because: "becauseb05cd645-4090-46dc-83db-0054d71a99bc")
✅ HaveContent_WithEncodingMismatch_ShouldThrow(fileName: "fileName16e8e80d-6c01-49ae-9c4f-c9556201c8ed", because: "because3a920e3d-9136-4ec6-9bb0-5b4b94f255ef")
✅ NotBeReadOnly_Null_ShouldThrow(because: "becausefe86840b-48fb-4467-9cc3-d055813bd362")
✅ NotBeReadOnly_WithReadOnlyFile_ShouldThrow(fileDescription: FileDescription { Bytes = null, Content = "content6b7ca2d5-514a-47f0-8183-6773b8cdeff6", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "namec353bce2-9b6f-48ab-80ce-7b9754e3cae4" }, because: "becauseac2588d8-101c-4909-a5ca-8e177be41759")
✅ NotBeReadOnly_WithWritableFile_ShouldNotThrow(fileDescription: FileDescription { Bytes = null, Content = "contente7f62604-489a-4064-977c-7a468bcfe95f", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "namea30b1657-3d63-477a-916e-eca0570e6348" })
✅ NotHaveAttribute_Null_ShouldThrow(because: "becauseb30aa4a1-cfa3-4a1e-b514-88db8f20c4ec")
✅ NotHaveAttribute_WithAttribute_ShouldThrow(fileDescription: FileDescription { Bytes = null, Content = "content6a3b3749-9c92-4eb4-91ba-2ebb5fab9d52", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "name88ed9cff-7174-4327-ac1b-da0e6ddad817" }, because: "because695dc5e5-f7e3-4f85-bb12-53ec8b225b0a")
✅ NotHaveAttribute_WithoutAttribute_ShouldNotThrow(fileDescription: FileDescription { Bytes = null, Content = "contentef4acf61-2137-45ae-b15a-0744ffa5bd43", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "name4fdf7a1f-12ec-4300-97e0-a26bd8a25904" })

✅ Testably.Abstractions.FluentAssertions.Tests.FileSystemAssertionsTests

✅ HaveDirectory_And_WithMultipleDirectories_ShouldNotThrow(path1: "path110be7a6d-33a5-4263-ab33-fb0c7989d81d", path2: "path2fa0227d0-4ce8-4961-b058-3278dc0c81e3")
✅ HaveDirectory_And_WithOnlyOneDirectory_ShouldThrow(path1: "path1b8640a63-3002-4a1a-8b48-db36499c3544", path2: "path2a416d28d-9be5-4bef-8873-873d9b1ad287")
✅ HaveDirectory_InvalidPath_ShouldThrow(invalidPath: "", because: "because745c2b82-14e3-4f9f-b72e-f37568b77055")
✅ HaveDirectory_InvalidPath_ShouldThrow(invalidPath: null, because: "because6a1dde33-4f22-47a7-92dc-d9ab6a96c591")
✅ HaveDirectory_WithDirectory_ShouldNotThrow(path: "patha0b31489-9db5-4fb5-ab60-7d4ebc1db802")
✅ HaveDirectory_WithoutDirectory_ShouldThrow(path: "pathb5b2a192-e399-46fd-b7f7-e29f4af2bb8d", because: "because23b93f3c-38e3-4541-bd08-5ed92f164837")
✅ HaveFile_And_WithMultipleFiles_ShouldNotThrow(path1: "path13de154a9-a2f6-4304-8206-a324252a71b4", path2: "path2dc4c6b78-9452-4f0b-a594-86a48f53b743")
✅ HaveFile_And_WithOnlyOneFile_ShouldThrow(path1: "path1d070bb7f-6520-4de8-8878-e0eb859eb877", path2: "path208219ecb-1d71-4dae-ad7c-37317c627496")
✅ HaveFile_InvalidPath_ShouldThrow(invalidPath: "", because: "because08d3cd64-16bd-4fb7-9c9d-8c961c12b33a")
✅ HaveFile_InvalidPath_ShouldThrow(invalidPath: null, because: "because295b69f2-bcc7-4f38-a3fa-f6cc74a9b8d5")
✅ HaveFile_WithFile_ShouldNotThrow(path: "path47a86933-5283-4b6a-b763-79b478968fa2")
✅ HaveFile_WithoutFile_ShouldThrow(path: "path5528f46a-55ca-46c7-b56a-31b4ce2a048f", because: "because5254d969-c66d-4af9-8df0-3bbff8a4db09")
✅ NotHaveDirectory_And_WithOnlyOneDirectory_ShouldThrow(path1: "path16086d236-a292-46f1-b400-79b88333bb36", path2: "path20b4c4d4a-54e4-4c24-b6ac-540d83404d32")
✅ NotHaveDirectory_And_WithoutAnyDirectories_ShouldNotThrow(path1: "path15e6cc947-c509-4124-aec2-813d3bf65faa", path2: "path2c9fc19ac-8daa-4935-9a75-fb12ab2393c8")
✅ NotHaveDirectory_InvalidPath_ShouldThrow(invalidPath: "", because: "because62486f5a-ed7a-4626-b1f3-98edfe2fae4c")
✅ NotHaveDirectory_InvalidPath_ShouldThrow(invalidPath: null, because: "becausef6dbca8e-2a62-46a4-9569-17ec17dae4f6")
✅ NotHaveDirectory_WithDirectory_ShouldThrow(path: "path95a93274-9633-45b7-9cf4-9392861b8308", because: "becauseb6cceac2-bc66-4e75-b24e-d38669fa4a03")
✅ NotHaveDirectory_WithoutDirectory_ShouldNotThrow(path: "path5407f510-b93f-470e-8749-e87bd0d63cbe")
✅ NotHaveFile_And_WithOnlyOneFile_ShouldThrow(path1: "path150e461bc-5c57-4a6a-9b07-0d3ab0b5f1e7", path2: "path221ec8731-b5a0-4a8b-b99b-a8949ea213c2")
✅ NotHaveFile_And_WithoutAnyFiles_ShouldNotThrow(path1: "path1b18afbe5-68ea-485e-b85d-f1bec3c158d7", path2: "path294b22647-fb06-4c90-bdec-fd74f8f5dac5")
✅ NotHaveFile_InvalidPath_ShouldThrow(invalidPath: "", because: "because5f7a7c01-3d49-488b-bd76-70f4f949c712")
✅ NotHaveFile_InvalidPath_ShouldThrow(invalidPath: null, because: "because0cd8eb78-ee52-4be8-bfb7-883bb2c4c315")
✅ NotHaveFile_WithFile_ShouldThrow(path: "pathe65556f9-8034-4ac8-b1b4-02035acc3832", because: "becauseaa03e5e1-a167-4e60-9146-ec38d426e91a")
✅ NotHaveFile_WithoutFile_ShouldNotThrow(path: "path3e0b17c5-6e86-41df-ba51-3e053981a6f1")

✅ Testably.Abstractions.FluentAssertions.Tests.FileSystemInfoAssertionsTests

✅ Exist_ForDirectoryInfo_Null_ShouldThrow(because: "because087beb35-3ded-4658-83ff-8c2a894fe2cd")
✅ Exist_ForDirectoryInfo_WithCorrectDirectory_ShouldNotThrow(directoryName: "directoryName7ca89f5e-8455-40e8-84bd-a494d02d6b0d")
✅ Exist_ForDirectoryInfo_WithoutCorrectDirectory_ShouldThrow(directoryName: "directoryName6b59ca21-66a5-4220-a1d4-31e714424b7a", because: "because4d745aa2-9295-4c68-8c76-6a5194ed5cc1")
✅ Exist_ForDirectoryInfo_WithSameFile_ShouldThrow(fileName: "fileName7d7ff537-516d-4c1c-a915-d4efd3605c9f", because: "because541150fb-31d0-4989-a1bd-19b4a85dfac8")
✅ Exist_ForFileInfo_Null_ShouldThrow(because: "becaused31fb39e-a921-4403-8671-ee4138871a44")
✅ Exist_ForFileInfo_WithCorrectFile_ShouldNotThrow(fileName: "fileName47bab735-846a-4951-997c-fc0edf9d7420")
✅ Exist_ForFileInfo_WithoutCorrectFile_ShouldThrow(fileName: "fileName10ce093e-6651-4460-9129-144e832049bf", because: "becausec4a73354-8af8-44b7-b35d-7299316795e0")
✅ Exist_ForFileInfo_WithSameDirectory_ShouldThrow(fileName: "fileName439079bd-1b87-4d74-9e3c-782c3eb8a287", because: "because40967963-2a7b-46a9-a649-5fccd2a4261a")

✅ 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-az247-528_2023-08-21_09_34_03.trx

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

Test suite Passed Failed Skipped Time
Testably.Abstractions.FluentAssertions.Tests.DirectoryAssertionsTests 4✅ 10ms
Testably.Abstractions.FluentAssertions.Tests.DirectoryInfoAssertionsTests 5✅ 196ms
Testably.Abstractions.FluentAssertions.Tests.FileAssertionsTests 17✅ 181ms
Testably.Abstractions.FluentAssertions.Tests.FileInfoAssertionsTests 24✅ 32ms
Testably.Abstractions.FluentAssertions.Tests.FileSystemAssertionsTests 24✅ 29ms
Testably.Abstractions.FluentAssertions.Tests.FileSystemInfoAssertionsTests 8✅ 24ms
Testably.Abstractions.FluentAssertions.Tests.MatchTests 13✅ 29ms

✅ Testably.Abstractions.FluentAssertions.Tests.DirectoryAssertionsTests

✅ HasFileMatching_InvalidFileName_ShouldThrow(invalidFileName: "", because: "becauseadb2c8d5-1ea6-489f-ac69-4617eb4fd7bb")
✅ HasFileMatching_InvalidFileName_ShouldThrow(invalidFileName: null, because: "becaused388d242-aad9-4e3b-9e08-18394de8f13d")
✅ HasFileMatching_WithMatchingFile_ShouldNotThrow(directoryName: "directoryNameb5653c67-664f-4fff-a576-7ad865b6c9f8", fileName: "fileName3ae34555-e4e6-45a7-a73c-33e07db7765f")
✅ HasFileMatching_WithoutMatchingFile_ShouldThrow(directoryName: "directoryNamebc1ae833-87d2-41e7-b28f-927ba0cb6ede", fileName: "fileName719a326d-1ba5-4b50-b78a-96bb1ed5289a", because: "because3ded9f1d-610c-472e-ac37-25552d80f9d4")

✅ Testably.Abstractions.FluentAssertions.Tests.DirectoryInfoAssertionsTests

✅ HaveFileMatching_InvalidFileName_ShouldThrow(invalidFileName: "", because: "because00e701a8-a26e-4343-b4b5-bfa3e4701b4c")
✅ HaveFileMatching_InvalidFileName_ShouldThrow(invalidFileName: null, because: "because85cfb358-0cee-4e03-8e72-cc2a91462f2a")
✅ HaveFileMatching_Null_ShouldThrow(because: "because6611ff88-7f0a-407c-9bbd-4835d9b5c760")
✅ HaveFileMatching_WithMatchingFile_ShouldNotThrow(directoryName: "directoryNameeff69d64-bf59-451d-80e9-d27224e4591f", fileName: "fileName8135c9d8-484b-4292-a299-1f8a3080f060")
✅ HaveFileMatching_WithoutMatchingFile_ShouldThrow(directoryName: "directoryName3681f34e-73a2-49df-9f97-c943a0806c15", fileName: "fileNamee783e635-8bf1-4720-ae05-d595b4e716d7", because: "because3dd47a2e-1e56-4372-84b4-f900626c9ba4")

✅ Testably.Abstractions.FluentAssertions.Tests.FileAssertionsTests

✅ DoesNotHaveAttribute_WithAttribute_ShouldThrow(fileDescription: FileDescription { Bytes = null, Content = "content317ae49a-7b1e-4de2-a5fa-fe1007049e4b", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "name55308e76-3993-42a4-ad2b-ec34daeb7ca5" }, because: "because047f45d1-416f-4640-8d6e-7ca249ee5fd4")
✅ DoesNotHaveAttribute_WithoutAttribute_ShouldNotThrow(fileDescription: FileDescription { Bytes = null, Content = "content19ae6df1-e9cf-4720-944a-1444898d62e7", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "namee6a400d6-fdf7-43ed-9f40-16e217d5a88a" })
✅ HasAttribute_WithAttribute_ShouldNotThrow(fileDescription: FileDescription { Bytes = null, Content = "content83746c25-61ac-4c82-8770-c0f26b6969b8", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "namea3ec6fac-2fe3-4ae9-b8c8-a64b4f58bf63" })
✅ HasAttribute_WithoutAttribute_ShouldThrow(fileDescription: FileDescription { Bytes = null, Content = "contenteabf0e99-eeee-4e6e-a786-2695a1c064b1", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "nameefae5cf8-f5f1-428b-97c7-c868d65065f9" }, because: "because4c2cb2ca-22cd-4ea8-af9a-c25d1de6a4b4")
✅ HasContent_Bytes_FullContent_ShouldNotThrow(bytes: [186, 2, 96], fileName: "fileName966d9184-afae-4c12-bf77-ec1905c17930")
✅ HasContent_Bytes_OnlyPartOfContent_ShouldNotThrow(bytes: [78, 45, 181], fileName: "fileName37204be9-8ac4-4620-851c-f94ef4e5159d", because: "because90f1d33f-8b0a-47b6-b000-4e1525d29e44")
✅ HasContent_FullContent_ShouldNotThrow(content: "content20d6fe7a-77b0-4757-914c-1549b0921af5", fileName: "fileNameb365cc53-a2b3-4126-a60e-81f7078c5fea")
✅ 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: "content3cffeff4-b1b5-4893-8182-a6273d2ecc3a", fileName: "fileNamef7fe22b7-e296-48e0-b360-cdf75ce68c45")
✅ HasContent_OnlyPartOfContentWithoutWildcards_ShouldThrow(content: "contentef64cc2e-30b1-42a5-9b5c-570bea7906f6", fileName: "fileName38c71e59-fcd6-4ef9-b8bd-99203e116f22", because: "because1c018454-61b4-4cec-87e6-b9d0d0ae8ab6")
✅ 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: "contentaea3ca2d-d0c6-4bb5-8a7f-3680d94ba859", fileName: "fileName73d8e6c7-bbe9-4b91-8792-95cfb0c76fd2", because: "because4a67aca1-9426-42f3-814d-4e34c8eadaba")
✅ HasContent_OnlyPartOfContentWithWildcard_ShouldNotThrow(content: "contentb430ece3-e3fd-4669-8461-02d39a333a69", fileName: "fileNamef53b60a9-6101-422a-b92c-14129902a957")
✅ 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: "content547d1f70-40c3-4b89-80ec-e02ad76d396f", fileName: "fileName7a2d153a-d67d-4bf7-b69a-0d25e58acfa0")
✅ HasContent_WithEncodingMismatch_ShouldThrow(fileName: "fileName80dcf0ac-df94-4859-908e-ea378026a09e", because: "becausee778496c-3046-4179-bbd3-f61044110579")
✅ IsNotReadOnly_WithReadOnlyFile_ShouldThrow(fileDescription: FileDescription { Bytes = null, Content = "contentab888279-e12d-47cc-b20c-006fa24d607e", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "name938867d4-d57f-4a1a-8f93-7b0301690217" }, because: "because61d9d4fb-54c4-4e09-b6c6-b0ad1f5b1860")
✅ IsNotReadOnly_WithWritableFile_ShouldNotThrow(fileDescription: FileDescription { Bytes = null, Content = "content0b9127ee-7068-45be-b8f8-5652482d2c89", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "name1a2d585f-cd1f-4526-ae1b-71ffadb3dcd2" })
✅ IsReadOnly_WithReadOnlyFile_ShouldNotThrow(fileDescription: FileDescription { Bytes = null, Content = "content934aa3fa-c6c7-4f57-9aad-5d73a308bf3f", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "namec4f0417d-0585-455a-b67b-9ad5b00eb134" })
✅ IsReadOnly_WithWritableFile_ShouldThrow(fileDescription: FileDescription { Bytes = null, Content = "contentac18f575-6e43-4348-8efc-dec6d98c7f21", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "named65b319c-041c-4322-98be-70be8584a49e" }, because: "becausecde20dcd-cd07-491a-9434-8ab456e08432")

✅ Testably.Abstractions.FluentAssertions.Tests.FileInfoAssertionsTests

✅ BeReadOnly_Null_ShouldThrow(because: "because218fe3ae-4b70-429e-b089-257114f6f968")
✅ BeReadOnly_WithReadOnlyFile_ShouldNotThrow(fileDescription: FileDescription { Bytes = null, Content = "content6c021fa0-c7b1-4362-91fb-25024fe20cd9", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "namee7881822-f144-4d29-adcc-03dcf2ee5103" })
✅ BeReadOnly_WithWritableFile_ShouldThrow(fileDescription: FileDescription { Bytes = null, Content = "contentd005d054-a0cf-423f-ac25-e00c26a99782", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "name9253c404-827e-4c64-83da-f0084529b109" }, because: "because89124990-87de-4e9c-8ac2-c5129ea6d91e")
✅ HaveAttribute_Null_ShouldThrow(because: "becausebcc21630-068c-4b93-a209-530a16e69df9")
✅ HaveAttribute_WithAttribute_ShouldNotThrow(fileDescription: FileDescription { Bytes = null, Content = "contenta4ef3849-c4c8-4d2a-ae8b-2066499ebb8d", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "namec1c1da5a-5f38-42e0-8f30-0c83012840f2" })
✅ HaveAttribute_WithoutAttribute_ShouldThrow(fileDescription: FileDescription { Bytes = null, Content = "content3842c654-e2dc-45af-a2bf-d9c519e96bf0", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "name4b2d078e-b3f9-4bf4-b53e-ee9e58699a66" }, because: "because55d70d87-1706-4277-a79d-ffa2fa389c20")
✅ HaveContent_Bytes_FullContent_ShouldNotThrow(bytes: [72, 141, 97], fileName: "fileNamedb5a3935-792a-4ef3-8d9e-cef6eb25eeaa")
✅ HaveContent_Bytes_Null_ShouldThrow(bytes: [101, 252, 49], because: "because998a5b03-1803-49b4-97a4-5cbacaf922be")
✅ HaveContent_Bytes_OnlyPartOfContent_ShouldNotThrow(bytes: [11, 33, 14], fileName: "fileName0784770d-9ea8-43a5-b9e6-5719b3109daf", because: "because6d29e641-39a0-4d19-b87a-24f927d7446f")
✅ HaveContent_FullContent_ShouldNotThrow(content: "content21cc4faf-854c-4e7d-8aee-74f1d46d3798", fileName: "fileName1f34282c-eec2-4cd1-be3f-39fff3b63adc")
✅ 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: "content236899eb-aa8e-43ef-aac2-e928ec44e0da", fileName: "fileNamec1c50978-45ce-4fb3-b309-0a499c194d13")
✅ HaveContent_OnlyPartOfContentWithoutWildcards_ShouldThrow(content: "contenta8e08723-1d05-4a69-9ffd-feed6a6dc4fa", fileName: "fileName9bb35a13-c327-4934-82b1-67bc22a4fd81", because: "because3c4a35ac-bc1a-456f-a5c5-971af2cbc8c4")
✅ 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: "contentdd03b820-6831-404c-91f7-96e0f90f1772", fileName: "fileNameef3d44dc-13aa-497d-b1b5-a29b20e13a7e", because: "becauseeafdc4ad-8f3c-4769-8aa1-b0eaf7ea4393")
✅ HaveContent_OnlyPartOfContentWithWildcard_ShouldNotThrow(content: "contentddb7a928-11c6-4bfe-8ae7-3bf3e5b41c0a", fileName: "fileNamed844148e-c2bd-4b6b-8852-4eee8e1831dc")
✅ 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: "content6b021bf0-81b1-4ee2-b125-e81e4b3e4627", fileName: "fileNameadeffd2a-1557-4454-9765-8a44e45b3134")
✅ HaveContent_StringContent_Null_ShouldThrow(content: "contentd0a2609b-f39a-4f2a-b46f-26ce3672bb61", because: "because1e87ee7b-9c1f-4874-b0fa-375c703e0381")
✅ 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: "contentf67fd03a-2766-488d-99a1-684ef8b07064", because: "becausefdcb938a-ec2c-4dec-98b7-c7d0357044d4")
✅ HaveContent_WithEncodingMismatch_ShouldThrow(fileName: "fileNamedd828d17-076b-4967-ab67-ab1a3ba67ba1", because: "because6caa3774-3148-4327-a2c4-b404bc13d058")
✅ NotBeReadOnly_Null_ShouldThrow(because: "becausea65fb7e3-efc7-4008-854a-ce8ece1fcd42")
✅ NotBeReadOnly_WithReadOnlyFile_ShouldThrow(fileDescription: FileDescription { Bytes = null, Content = "content245659e8-d764-4592-9589-1bfc86071869", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "name7e20a0bc-18ca-4391-b96b-193a5bde8a6b" }, because: "because4e836c2b-7d0c-4810-882d-df5c7158db88")
✅ NotBeReadOnly_WithWritableFile_ShouldNotThrow(fileDescription: FileDescription { Bytes = null, Content = "contentca74ec60-973a-4b1b-bb4f-9f4d368097df", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "nameb81974cf-2631-428a-b47b-3437bc493a34" })
✅ NotHaveAttribute_Null_ShouldThrow(because: "because79834e4f-945b-427a-a5f9-8560eb0bdeef")
✅ NotHaveAttribute_WithAttribute_ShouldThrow(fileDescription: FileDescription { Bytes = null, Content = "contenta09ed687-3994-4076-b70c-fbc53b9fb547", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "namef3ace414-35a1-403d-a6b6-323056b35d7c" }, because: "because2ab313a6-8028-47f7-9028-9bf7836e295b")
✅ NotHaveAttribute_WithoutAttribute_ShouldNotThrow(fileDescription: FileDescription { Bytes = null, Content = "content83499127-816c-4fb4-a97c-61e3f4cfb345", IsReadOnly = True, Item = (throws TargetParameterCountException), Name = "name31e8bf69-261d-4af7-ace6-314cef7c3841" })

✅ Testably.Abstractions.FluentAssertions.Tests.FileSystemAssertionsTests

✅ HaveDirectory_And_WithMultipleDirectories_ShouldNotThrow(path1: "path13c1f75ef-878f-4777-945e-86f991e71540", path2: "path218736d4c-4077-452d-8457-01173538e0cf")
✅ HaveDirectory_And_WithOnlyOneDirectory_ShouldThrow(path1: "path1acff8fe4-e68a-4d6f-b163-7b5bdb1697dd", path2: "path232a2a27d-5731-45a2-9d5d-8374f01c138c")
✅ HaveDirectory_InvalidPath_ShouldThrow(invalidPath: "", because: "because5b3faeba-a922-424a-9e0b-2c52272fc91c")
✅ HaveDirectory_InvalidPath_ShouldThrow(invalidPath: null, because: "because7b6bc1d3-0731-4d8f-8373-102b2253a5ac")
✅ HaveDirectory_WithDirectory_ShouldNotThrow(path: "path2575923c-1ef6-4e4d-9e3a-05328bc136bf")
✅ HaveDirectory_WithoutDirectory_ShouldThrow(path: "path0678b68f-1378-4504-9010-4f2fa32efc67", because: "becaused39220dd-a61e-48d3-b0c4-1daee355c76c")
✅ HaveFile_And_WithMultipleFiles_ShouldNotThrow(path1: "path1d2748177-6f26-4dd3-9e8e-bcd3de34448f", path2: "path25be92d27-faa5-4c30-8b8b-d84bcb7b404f")
✅ HaveFile_And_WithOnlyOneFile_ShouldThrow(path1: "path1fddf0d03-d00d-4efe-a4b8-77d24709f164", path2: "path277b52c29-dfb0-4faa-b3f2-3c0dbfa3e837")
✅ HaveFile_InvalidPath_ShouldThrow(invalidPath: "", because: "becauseb08e7031-8fe1-4137-a804-0602d41bba34")
✅ HaveFile_InvalidPath_ShouldThrow(invalidPath: null, because: "because279f46c3-fa87-47f1-b622-046463b9c1f5")
✅ HaveFile_WithFile_ShouldNotThrow(path: "path35498061-b209-4e35-90c2-3571182e236c")
✅ HaveFile_WithoutFile_ShouldThrow(path: "path05454003-bcda-4a2a-abbc-8d38b87384af", because: "becauseeaf14d46-bf1a-4494-ae4c-91deb5e887b1")
✅ NotHaveDirectory_And_WithOnlyOneDirectory_ShouldThrow(path1: "path11e9d0ca7-c4ac-4ecb-b049-a73f81451070", path2: "path219ed889b-3b7b-4618-a29d-c651c398ffdb")
✅ NotHaveDirectory_And_WithoutAnyDirectories_ShouldNotThrow(path1: "path1e7c9fd43-6706-47e2-a25e-36857b5a487c", path2: "path256726cc0-8ff0-4d48-a54a-be233ffdc28f")
✅ NotHaveDirectory_InvalidPath_ShouldThrow(invalidPath: "", because: "because75b82c6e-12fa-4350-b36d-ff486ce1d891")
✅ NotHaveDirectory_InvalidPath_ShouldThrow(invalidPath: null, because: "because6b4d18c4-ac47-4732-b64c-51efc7872274")
✅ NotHaveDirectory_WithDirectory_ShouldThrow(path: "path44b07ae9-8291-4a67-a601-ff920555acde", because: "because06f61ecd-bfe7-4e72-882c-92a0bee55a9c")
✅ NotHaveDirectory_WithoutDirectory_ShouldNotThrow(path: "path308c45d0-aacd-49ab-93cd-a0c70cbb871f")
✅ NotHaveFile_And_WithOnlyOneFile_ShouldThrow(path1: "path1d5ed669b-0c6c-444a-9998-87e22b007061", path2: "path2d1d46da4-0b7e-4689-9bac-96f783168bd8")
✅ NotHaveFile_And_WithoutAnyFiles_ShouldNotThrow(path1: "path1625b9348-dd3d-4a54-a815-c5b25c089996", path2: "path28e2cd560-d7bc-4b0a-b930-70bc643247ce")
✅ NotHaveFile_InvalidPath_ShouldThrow(invalidPath: "", because: "becauseb692e362-ef88-4fed-bbeb-25a324b93a97")
✅ NotHaveFile_InvalidPath_ShouldThrow(invalidPath: null, because: "because6629ff78-d752-4727-ab94-ee51a9560454")
✅ NotHaveFile_WithFile_ShouldThrow(path: "path293bc4ef-0894-4fd6-a7aa-af9d1679a2e0", because: "becausea7df127e-fa26-4810-bc2f-e4b215ab1c83")
✅ NotHaveFile_WithoutFile_ShouldNotThrow(path: "path0e073a6a-8d0f-4d10-91ad-b412e7de5451")

✅ Testably.Abstractions.FluentAssertions.Tests.FileSystemInfoAssertionsTests

✅ Exist_ForDirectoryInfo_Null_ShouldThrow(because: "because9fbbc9b6-10de-4c9a-9249-ffae22958575")
✅ Exist_ForDirectoryInfo_WithCorrectDirectory_ShouldNotThrow(directoryName: "directoryNameb70314a5-6496-4c69-bdbb-b084508d4d69")
✅ Exist_ForDirectoryInfo_WithoutCorrectDirectory_ShouldThrow(directoryName: "directoryNamebccc2afa-6e20-4c57-bb6b-dee27940da54", because: "because49577ae6-0c9c-4ae7-885b-bbcc5d1555ca")
✅ Exist_ForDirectoryInfo_WithSameFile_ShouldThrow(fileName: "fileNamebdd07c0e-01b8-4783-a6c4-b94d674dab8a", because: "because3cb4bdec-b0b4-4190-95d1-c25ee2d138ae")
✅ Exist_ForFileInfo_Null_ShouldThrow(because: "because12d5fe70-685e-4619-91fe-0f4f17a574cf")
✅ Exist_ForFileInfo_WithCorrectFile_ShouldNotThrow(fileName: "fileName3565e4b2-1f36-49c6-b4d1-a6e43bc96e8f")
✅ Exist_ForFileInfo_WithoutCorrectFile_ShouldThrow(fileName: "fileName745fbd5a-ecaa-418e-bf7a-19e520b2beaa", because: "because2eab446e-48a9-4340-ab9e-07feee55713e")
✅ Exist_ForFileInfo_WithSameDirectory_ShouldThrow(fileName: "fileNamedbafa1b7-e576-46b2-b2d8-2454b36cfd42", because: "because3959788f-d733-4afc-92a9-51f7aa64560c")

✅ 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)