public void UnsubscribeOnLogOut_UserDoesNotExistNotPreviouslySubscribedToUserName_ReturnsFalse() { // Arrange var username = "******"; UserLoggedOutHandle handle = new UserLoggedOutHandle((o, s) => { }); // Act and assert Assert Assert.That(_uut.UnsubscribeOnLogOut(username, handle), Is.EqualTo(false)); }
public void SubscribeOnLogout_UserExistNotPreviouslySubscribed_ReturnsTrue() { // Arrange var username = "******"; _fakeUserCache.Confirm(username).Returns(true); var handle = new UserLoggedOutHandle((o, s) => { }); // Act and assert Assert.That(_uut.SubscribeOnLogOut(username, handle), Is.EqualTo(true)); }
public bool SubscribeOnLogOut(string username, UserLoggedOutHandle handle) { if (!_userCache.Confirm(username)) { return(false); } lock (_listeners) { if (!_listeners.ContainsKey(username)) { _listeners.Add(username, new HashSet <UserLoggedOutHandle>()); } return(_listeners[username].Add(handle)); } }
public void UnsubscribeOnLogOut_UserDoesExistNotPreviouslySubscribedToUserName_ReturnsFalse() { // Arrange var username = "******"; _fakeUserCache.Confirm(Arg.Any <string>()).Returns(true); _uut.SubscribeOnLogOut(username, (o, s) => { }); // The user exists with a default handle var handle = new UserLoggedOutHandle((o, s) => // This handle is not subscribed { }); // Act and assert Assert Assert.That(_uut.UnsubscribeOnLogOut(username, handle), Is.EqualTo(false)); }
public void SubscribeOnLogout_UserDoesNotExist_ReturnsFalse() { // Arrange var username = "******"; _fakeUserCache.Confirm(username).Returns(false); var handle = new UserLoggedOutHandle((o, s) => { }); // Act var subscribed = _uut.SubscribeOnLogOut(username, handle); // Assert Assert.That(!subscribed); }
public bool UnsubscribeOnLogOut(string username, UserLoggedOutHandle handle) { lock (_listeners) { if (!_listeners.ContainsKey(username)) { return(false); } if (!_listeners[username].Remove(handle)) { return(false); } if (_listeners[username].Count == 0) { _listeners.Remove(username); } return(true); } }