public static void Visit <T>(this IVisitor visitor, T objectToVisit)
 {
     VisitorInvoker.InvokeVisit(visitor, objectToVisit);
 }
 protected override void Because()
 {
     VisitorInvoker.InvokeVisit(_visitor, _mySimpleClass);
 }
 public void should_trow_an_exception()
 {
     The.Action(() => VisitorInvoker.InvokeVisit(_visitor, _mySimpleClass)).ShouldThrowAn <AmbiguousVisitMethodException>();
 }
 protected override void Because()
 {
     VisitorInvoker.InvokeVisit(_visitor, _myGenericClass);
 }
 public void should_do_nothing()
 {
     The.Action(() => VisitorInvoker.InvokeVisit(_visitor, _myVisitableClass)).ShouldThrowAn <UnableToVisitObjectException>();
 }
 public void should_not_crash()
 {
     VisitorInvoker.InvokeVisit(_visitor, _mySimpleClass);
 }