{"id":23512676,"url":"https://github.com/creoone/fuzzer","last_synced_at":"2026-04-24T11:37:37.227Z","repository":{"id":92887413,"uuid":"161223388","full_name":"CreoOne/Fuzzer","owner":"CreoOne","description":"Helping hand in testing.","archived":false,"fork":false,"pushed_at":"2018-12-19T19:08:47.000Z","size":21,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-21T01:41:16.498Z","etag":null,"topics":["csharp","dotnet","fuzzing","testing"],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CreoOne.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-12-10T19:07:36.000Z","updated_at":"2018-12-19T19:08:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"d8d2cece-9f67-4722-b81e-f6668670edd7","html_url":"https://github.com/CreoOne/Fuzzer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/CreoOne/Fuzzer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CreoOne%2FFuzzer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CreoOne%2FFuzzer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CreoOne%2FFuzzer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CreoOne%2FFuzzer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CreoOne","download_url":"https://codeload.github.com/CreoOne/Fuzzer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CreoOne%2FFuzzer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32222133,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-24T10:26:35.452Z","status":"ssl_error","status_checked_at":"2026-04-24T10:25:27.643Z","response_time":64,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csharp","dotnet","fuzzing","testing"],"created_at":"2024-12-25T13:19:03.238Z","updated_at":"2026-04-24T11:37:37.221Z","avatar_url":"https://github.com/CreoOne.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Fuzzer\nHelping hand in testing.\n\n## Description\nFuzzer is a simple cases generator for unit tests. It brute-forces trough all possible combinations of provided values. It works with frequent values like `0` or `1` but can also do fuzzing with `NaN` and random strings that are megabytes in size.\n\n## Roadmap\nFor current roadmap go to [General Project](./../../projects/1)\n\n## Usage\n```cs\nScenario scenario = new Scenario()\n  .NonRandom()\n  .Random(amount: 10)\n  .RandomString(amount: 10, encoding: Encoding.UTF8)\n  .RandomDateTime(amount: 10, kind: DateTimeKind.Utc)\n  .Except(1UL)\n  .Except(default(DateTime))\n  .Except(default(Guid));\n\nIEnumerable\u003cobject[]\u003e results = new CasesGenerator\u003cfloat, string, DateTime, Guid\u003e(scenario);\n```\n### with NUnit\nlike in [SampleFixture.cs](./FuzzerTests/SampleFixture.cs)\n```cs\n    [TestFixture]\n    public class SampleFixture\n    {\n        [Test]\n        [TestCaseSource(\"SampleTestGenerator\")]\n        public void SampleTest(string name, double lattitude, double longitude, DateTime when)\n        {\n            // Your assertions go here\n            Assert.True(true);\n        }\n\n        public static IEnumerable\u003cTestCaseData\u003e SampleTestGenerator()\n        {\n            Scenario scenario = new Scenario()\n                .NonRandom()\n                .Random(amount: 10);\n\n            return new CasesGenerator\u003cstring, double, double, DateTime\u003e(scenario)\n                .Select(c =\u003e new TestCaseData(c));\n        }\n    }\n```\n## Fuzz providers\n  - List of all currently available values used for fuzzing can be found in [Scenario.cs](./Fuzzer/Scenario.cs)\n  - You can write Your own provider:\n    - by implementing `Fuzzer.Fuzzers.IFuzzer\u003c\u003e` like in [CustomFuzzerFixture.cs](./FuzzerTests/CustomFuzzerFixture.cs)\n    - by making incubator `Func\u003c\u003e` like in [IncubatorFuzzerFixture.cs](./FuzzerTests/IncubatorFuzzerFixture.cs)\n    - by providing literal like:\n      ```cs\n      scenario.Add(ConstantFuzzer.Create( /* literal in here */ ));\n      ```\n    - types that don't have added provider will be tested as `default()`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcreoone%2Ffuzzer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcreoone%2Ffuzzer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcreoone%2Ffuzzer/lists"}