Nikos Baxevanis

Fare - Finite Automata/Regex in .NET

2011-11-24 | #autofixture #fare 

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 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.