public void TestJoinPart() { var tracker = new ChannelTracker(); var someoneClientId = new ClientId("Someone", "user", "example.com"); var message = new Message("JOIN", new[] { "#Test" }); message.Prefix.ClientId = someoneClientId; tracker.UpdateFromMessage(message); Assert.True(tracker.ContainsKey("#test")); var channel = tracker["#test"]; Assert.True(channel.ContainsKey("someone")); var user = channel["someone"]; Assert.Equal("someone", user.ClientId.NicknameLower); message = new Message("PART", new[] { "#Test" }); message.Prefix.ClientId = someoneClientId; tracker.UpdateFromMessage(message); Assert.False(channel.ContainsKey("someone")); }
public void TestMissingPart() { var tracker = new ChannelTracker(); var someoneClientId = new ClientId("Someone", "user", "example.com"); var message = new Message("PART", new[] { "#Test" }); message.Prefix.ClientId = someoneClientId; tracker.UpdateFromMessage(message); Assert.False(tracker["#test"].ContainsKey("someone")); }
public void TestExtraJoin() { var tracker = new ChannelTracker(); var someoneClientId = new ClientId("Someone", "user", "example.com"); var message = new Message("JOIN", new[] { "#Test" }); message.Prefix.ClientId = someoneClientId; tracker.UpdateFromMessage(message); tracker.UpdateFromMessage(message); // double Assert.True(tracker["#test"].ContainsKey("someone")); }
public void TestNameReply() { var tracker = new ChannelTracker(); var message = new Message( NumericalReplyCodes.RPL_NAMREPLY, new[] { "someone", "=", "#test" }, "@chanOwner +someoneElse bill" ); tracker.UpdateFromMessage(message); Assert.True(tracker.ContainsKey("#test")); Assert.True(tracker["#test"].ContainsKey("chanowner")); Assert.True(tracker["#test"].ContainsKey("someoneelse")); Assert.True(tracker["#test"].ContainsKey("bill")); }