{"id":18397235,"url":"https://github.com/intellitect/testtools.console","last_synced_at":"2026-02-26T10:50:40.715Z","repository":{"id":51164844,"uuid":"520283238","full_name":"IntelliTect/TestTools.Console","owner":"IntelliTect","description":"TestTools.Console is a simple end-to-end test framework for .NET console applications.","archived":false,"fork":false,"pushed_at":"2026-02-25T05:58:26.000Z","size":174,"stargazers_count":1,"open_issues_count":6,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-02-25T10:49:48.894Z","etag":null,"topics":["console","dotnet","hacktoberfest","nuget","testing","testing-tools"],"latest_commit_sha":null,"homepage":"https://www.nuget.org/packages/IntelliTect.TestTools.Console","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/IntelliTect.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-08-01T22:50:59.000Z","updated_at":"2026-02-16T11:46:54.000Z","dependencies_parsed_at":"2024-03-11T11:49:30.783Z","dependency_job_id":"ee42c836-08f2-443f-bac7-0ed0b255b67c","html_url":"https://github.com/IntelliTect/TestTools.Console","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/IntelliTect/TestTools.Console","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IntelliTect%2FTestTools.Console","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IntelliTect%2FTestTools.Console/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IntelliTect%2FTestTools.Console/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IntelliTect%2FTestTools.Console/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IntelliTect","download_url":"https://codeload.github.com/IntelliTect/TestTools.Console/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IntelliTect%2FTestTools.Console/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29856752,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-26T08:51:08.701Z","status":"ssl_error","status_checked_at":"2026-02-26T08:50:19.607Z","response_time":89,"last_error":"SSL_read: 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":["console","dotnet","hacktoberfest","nuget","testing","testing-tools"],"created_at":"2024-11-06T02:16:23.068Z","updated_at":"2026-02-26T10:50:40.686Z","avatar_url":"https://github.com/IntelliTect.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [TestTools.Console](https://www.nuget.org/packages/IntelliTect.TestTools.Console/): [![NuGet](https://img.shields.io/nuget/v/IntelliTect.TestTools.Console.svg)](https://www.nuget.org/packages/IntelliTect.TestTools.Console/)\n\nConsole is a simple end-to-end test framework for .NET console applications.\n\nCheck out the package at \u003chttps://www.nuget.org/packages/IntelliTect.TestTools.Console\u003e\n\nThis currently has non-optimal nomenclature and is not guaranteed to be efficient, but it appears to work.\n\n## Usage\n\n### Basic Usage\n\nThe view variable contains a sample view to test for. Within it, the `\u003c\u003c` and `\u003e\u003e` symbols indicate that the inner content is entered into the console by the user -- including the newline, as they would press Enter.\n\n```csharp\nstring view =\n@\"Please enter something: \u003c\u003cSomething\n\u003e\u003eYou said 'Something'.\";\n\nIntelliTect.TestTools.Console.ConsoleAssert.Expect(view, () =\u003e { MyMethod() } );\n```\n\n### Wildcard Patterns\n\n Performs a unit test on a console-based method. A \"view\" of what a user would see in their console is provided as a string, where their input (including line-breaks) is surrounded by double less-than/greater-than signs, like so: \"Input please: \u0026lt;\u0026lt;Input\u0026gt;\u0026gt;\".\n\n```csharp\nstring expected = $@\"(abstract, 1)\n(abstract, 2)\n(abstract, 3)*\n(add\\*, 1)\";\n\nIntelliTect.TestTools.Console.ConsoleAssert.ExpectLike(expected, () =\u003e\n{\n    Program.Main();\n});\n```\n\n### Normalize Line Endings\n\nNormalizes all line endings of the input string into the current Environment newline string.\n\n```csharp\nstring expected = $@\"test123\nand2*\nand this is my *\nexpected message\";\n\nexpected = IntelliTect.TestTools.Console.ConsoleAssert.NormalizeLineEndings(expected);\n\nIntelliTect.TestTools.Console.ConsoleAssert.ExpectLike(expected, () =\u003e\n{\n    Program.Main();\n});\n```\n\n#### Execute Process and TestGeneration\n\nPerforms a unit test on a console-based executable. what a user would see in their console is provided as a string, where their input (including line-breaks) is surrounded by double less-than/greater-than signs, like so: \"Input please: \u0026lt;\u0026lt;Input\u0026gt;\u0026gt;\".\n\n```csharp\n        string expected = $@\"*\nPinging * ?::1? with 32 bytes of data:\nReply from ::1: time*\";\n        string pingArgs = \"-c 4 localhost\";\n        if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))\n        {\n            pingArgs = pingArgs.Replace(\"-c \", \"-n \");\n        }\n        else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))\n        {\n            expected = $@\"PING *(* (::1)) 56 data bytes\n64 bytes from * (::1): icmp_seq=1 ttl=64 time=* ms*\";\n        }\n\n        ConsoleAssert.ExecuteProcess(\n            expected,\n            \"ping\", pingArgs, out string _, out _);\n```\n\n... More to come later.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fintellitect%2Ftesttools.console","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fintellitect%2Ftesttools.console","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fintellitect%2Ftesttools.console/lists"}