As you may know if you followed my blog before; I like to roll my own fake. For interfaces it is pretty straight forward with explicit implementation of the interface and properties with delegates for implementation.
However when I was working on the stream assembly in my toolbox I needed a fake stream for some testing. Stream is an abstract class so implementing method explicitly does not work. Nor did I want to clutter my fake with a bunch of fake handlers for implementation.
So what I did was that I created a nested class in my FakeStream called FakeBehaviors and I named the property Behaviors. That way I can do neat things like:
var fakeStream = new FakeStream();
fakeStream.Behaviors.CanRead = true;
I think it reads pretty neat and is a nice way to keep my fake uncluttered when I work with it. You can find all the code in the toolbox project.