public virtual void TestCreateNodeResultBecomeActive() { MockNoPriorActive(); elector.JoinElection(data); elector.ProcessResult(KeeperException.Code.Ok.IntValue(), ZkLockName, mockZK, ZkLockName ); Org.Mockito.Mockito.Verify(mockApp, Org.Mockito.Mockito.Times(1)).BecomeActive(); VerifyExistCall(1); // monitor callback verifies the leader is ephemeral owner of lock but does // not call becomeActive since its already active Stat stat = new Stat(); stat.SetEphemeralOwner(1L); Org.Mockito.Mockito.When(mockZK.GetSessionId()).ThenReturn(1L); elector.ProcessResult(KeeperException.Code.Ok.IntValue(), ZkLockName, mockZK, stat ); // should not call neutral mode/standby/active Org.Mockito.Mockito.Verify(mockApp, Org.Mockito.Mockito.Times(0)).EnterNeutralMode (); Org.Mockito.Mockito.Verify(mockApp, Org.Mockito.Mockito.Times(0)).BecomeStandby(); Org.Mockito.Mockito.Verify(mockApp, Org.Mockito.Mockito.Times(1)).BecomeActive(); // another joinElection not called. Org.Mockito.Mockito.Verify(mockZK, Org.Mockito.Mockito.Times(1)).Create(ZkLockName , data, ZooDefs.Ids.OpenAclUnsafe, CreateMode.Ephemeral, elector, mockZK); // no new monitor called VerifyExistCall(1); }