Property based testing in C#