public void can_create_probability_selector() { Init(); var invokeCount = 0; var propability = testObject .PropabilitySelector("some-selector") .Do("some-action-1", t => { ++invokeCount; return(BehaviourTreeStatus.Success); }) .Do("some-action-2", t => { ++invokeCount; return(BehaviourTreeStatus.Success); }) .Do("some-action-3", t => { ++invokeCount; return(BehaviourTreeStatus.Success); }) .End() .Build(); Assert.IsType <ProbabilitySelectorNode <TimeData> >(propability); for (int i = 0; i < 100; i++) { Assert.Equal(BehaviourTreeStatus.Success, propability.Tick(new TimeData())); } Assert.Equal(100, invokeCount); }