public void state_controller_build_fails_without_default_state()
 {
     Assert.Throws <InvalidOperationException>(() => builder.Build());
     Assert.Throws <InvalidOperationException>(() => builder.Build());
     builder.WithDefaultState(new TestState());
     nonEmptyBuilder.WithDefaultState(new TestState());
     Assert.DoesNotThrow(() => builder.Build());
     Assert.DoesNotThrow(() => builder.Build());
 }