Project: Hell0_TDD
Purpose: Demonstrate Test-Driven Development (TDD) in C#
Hell0_TDD is a learning project to demonstrate Test-Driven Development (TDD) in C# using xUnit and a class library.
The project implements a simple ASCII renderer (AsciiRenderer) and evolves incrementally using the Red → Green → Refactor cycle.
Future work will integrate Figgle to render text in standard ASCII fonts.
This repo showcases a clean commit history that highlights TDD best practices.
Hell0_TDD.Core
Contains the main logic for ASCII rendering. Implemented in a class library (.dll), referenced by the test project.Hell0_TDD.Tests
Contains xUnit tests forAsciiRenderer. Demonstrates writing failing tests first, then implementing code to pass them.
Note: The Core library is not an executable. All functionality is verified through unit tests.
- Pre-red / Red: Added first test for
AsciiRenderer(test fails, showing test can catch errors). - Green: Implemented minimal stub to make test pass.
- Refactor: Cleaned up
Rendermethod, added edge-case handling (null, empty, whitespace, trimming).
- Open the solution in Visual Studio 2022.
- Open Test Explorer (
Test > Test Explorer). - Click Run All to execute all tests.
- Observe Red → Green cycles as you implement and refactor code.
The Core library itself cannot be run directly; the tests act as the executable driver.
- Clone the repository:
git clone https://github.com/sooperD00/Hell0_TDD.git
- Open the solution
Hell0_TDD.slnin Visual Studio. - Build the solution and run tests via Test Explorer.
Hell0_TDD.Core is available on NuGet. To install via the .NET CLI:
dotnet add package Hell0_TDD.CoreOr via the Package Manager Console in Visual Studio:
Install-Package Hell0_TDD.Core- Demonstrate TDD workflow: write failing test → implement → pass → refactor.
- Practice unit testing with xUnit.
- Work with a class library project in C#.
- Maintain a clear, professional commit history showcasing TDD.
- Integrate external libraries (Figgle) for ASCII rendering.
- Release as a NuGet package for use in future web project.
- Create a minimal web front-end (ASP.NET Core or Blazor) that consumes
Hell0_TDD.Corefrom NuGet. - Set up CI/CD using GitHub Actions to automatically build and test the library.
MIT License