Project Fare is an effort to bring a DFA/NFA (finite-state automata) implementation from Java to .NET. There are quite a few implementations available in other languages today. This project aims to fill the gap in .NET.
Fare is a .NET port of the well established Java library dk.brics.automaton with API as close as possible to the corresponding dk.brics.automaton classes. It also includes a port of Xeger which is a Java library for generating random text from regular expressions. The latter is possible in .NET using the Rex tool.
There are currently integration tests utilizing xUnit.net data theories using the [ClassData] attribute. This way, the same test cases can be used across the ported code, the Java code and even compared to the output of Rex.
The source code is here.