diff options
author | Ben Harris <ben@tilde.team> | 2020-05-06 11:48:07 -0400 |
---|---|---|
committer | Ben Harris <ben@tilde.team> | 2020-05-06 11:48:07 -0400 |
commit | 0117d9d9a0a395166e15c0996f87af823928d011 (patch) | |
tree | 11c8ceb3b36f9e2f558397ef3fe88ea90837578c /IrcStates/Tests/Mode.cs | |
parent | dfe5a0035bd321a0774ae402de8fa5cc8f2b8c06 (diff) |
add all missing tests
Diffstat (limited to 'IrcStates/Tests/Mode.cs')
-rw-r--r-- | IrcStates/Tests/Mode.cs | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/IrcStates/Tests/Mode.cs b/IrcStates/Tests/Mode.cs index 98c6aaf..3418adb 100644 --- a/IrcStates/Tests/Mode.cs +++ b/IrcStates/Tests/Mode.cs @@ -34,71 +34,148 @@ namespace IrcStates.Tests [TestMethod] public void PrefixAdd() { + _server.ParseTokens(new Line(":nickname JOIN #chan")); + _server.ParseTokens(new Line("MODE #chan +ov nickname nickname")); + + var user = _server.Users["nickname"]; + var channel = _server.Channels["#chan"]; + var channelUser = channel.Users[user.NickNameLower]; + CollectionAssert.AreEqual(new List<string> {"o", "v"}, channelUser.Modes); } [TestMethod] public void PrefixRemove() { + _server.ParseTokens(new Line(":nickname JOIN #chan")); + _server.ParseTokens(new Line("MODE #chan +ov nickname nickname")); + _server.ParseTokens(new Line("MODE #chan -ov nickname nickname")); + + var user = _server.Users["nickname"]; + var channel = _server.Channels["#chan"]; + var channelUser = channel.Users[user.NickNameLower]; + CollectionAssert.AreEqual(new List<string>(), channelUser.Modes); } [TestMethod] public void ChannelListAdd() { + _server.ParseTokens(new Line(":nickname JOIN #chan")); + _server.ParseTokens(new Line("MODE #chan +b asd!*@*")); + + var channel = _server.Channels["#chan"]; + CollectionAssert.AreEqual(new Dictionary<string, List<string>> {{"b", new List<string> {"asd!*@*"}}}, + channel.ListModes); } [TestMethod] public void ChannelListRemove() { + _server.ParseTokens(new Line(":nickname JOIN #chan")); + _server.ParseTokens(new Line("MODE #chan +b asd!*@*")); + _server.ParseTokens(new Line("MODE #chan -b asd!*@*")); + + var channel = _server.Channels["#chan"]; + CollectionAssert.AreEqual(new Dictionary<string, List<string>>(), channel.ListModes); } [TestMethod] public void ChannelTypeBAdd() { + _server.ParseTokens(new Line(":nickname JOIN #chan")); + _server.ParseTokens(new Line("MODE #chan +k password")); + + var channel = _server.Channels["#chan"]; + CollectionAssert.AreEqual(new Dictionary<string, string> {{"k", "password"}}, channel.Modes); } [TestMethod] public void ChannelTypeBRemove() { + _server.ParseTokens(new Line(":nickname JOIN #chan")); + _server.ParseTokens(new Line("MODE #chan +k password")); + _server.ParseTokens(new Line("MODE #chan -k *")); + + var channel = _server.Channels["#chan"]; + CollectionAssert.AreEqual(new Dictionary<string, string>(), channel.Modes); } [TestMethod] public void ChannelTypeCAdd() { + _server.ParseTokens(new Line(":nickname JOIN #chan")); + _server.ParseTokens(new Line("MODE #chan +l 100")); + + var channel = _server.Channels["#chan"]; + CollectionAssert.AreEqual(new Dictionary<string, string> {{"l", "100"}}, channel.Modes); } [TestMethod] public void ChannelTypeCRemove() { + _server.ParseTokens(new Line(":nickname JOIN #chan")); + _server.ParseTokens(new Line("MODE #chan +l 100")); + _server.ParseTokens(new Line("MODE #chan -l")); + + var channel = _server.Channels["#chan"]; + CollectionAssert.AreEqual(new Dictionary<string, string>(), channel.Modes); } [TestMethod] public void ChannelTypeDAdd() { + _server.ParseTokens(new Line(":nickname JOIN #chan")); + _server.ParseTokens(new Line("MODE #chan +i")); + + var channel = _server.Channels["#chan"]; + CollectionAssert.AreEqual(new Dictionary<string, string> {{"i", null}}, channel.Modes); } [TestMethod] public void ChannelTypeDRemove() { + _server.ParseTokens(new Line(":nickname JOIN #chan")); + _server.ParseTokens(new Line("MODE #chan +i")); + _server.ParseTokens(new Line("MODE #chan -i")); + + var channel = _server.Channels["#chan"]; + CollectionAssert.AreEqual(new Dictionary<string, string>(), channel.Modes); } [TestMethod] public void ChannelNumeric() { + _server.ParseTokens(new Line(":nickname JOIN #chan")); + _server.ParseTokens(new Line("324 * #chan +bkli *!*@* pass 10")); + + var channel = _server.Channels["#chan"]; + CollectionAssert.AreEqual(new Dictionary<string, string> {{"k", "pass"}, {"l", "10"}, {"i", null}}, + channel.Modes); + CollectionAssert.AreEqual(new Dictionary<string, List<string>> {{"b", new List<string> {"*!*@*"}}}, + channel.ListModes); } [TestMethod] public void ChannelNumericWithoutPlus() { + _server.ParseTokens(new Line(":nickname JOIN #chan")); + _server.ParseTokens(new Line("324 * #chan il 10")); + + var channel = _server.Channels["#chan"]; + CollectionAssert.AreEqual(new Dictionary<string, string> {{"i", null}, {"l", "10"}}, channel.Modes); } [TestMethod] public void UserNumeric() { + _server.ParseTokens(new Line("221 * +iw")); + CollectionAssert.AreEqual(new List<string> {"i", "w"}, _server.Modes); } [TestMethod] public void UserNumericWithoutPlus() { + _server.ParseTokens(new Line("221 * iw")); + CollectionAssert.AreEqual(new List<string> {"i", "w"}, _server.Modes); } } } |