diff options
author | Ben Harris <ben@tilde.team> | 2020-04-29 01:28:48 -0400 |
---|---|---|
committer | Ben Harris <ben@tilde.team> | 2020-04-29 01:28:48 -0400 |
commit | 53da4d4c2a31d939c9ca92345ea935b7502b4e48 (patch) | |
tree | c2c4c00d7bdfbdc01b58dc4f6f2081a22caceecd /IrcStates/Tests/Casemap.cs | |
parent | e2d93c593c7dfc76fa468e1e3a1724d311b5bbd3 (diff) |
Start to port some ircstates tests
Diffstat (limited to 'IrcStates/Tests/Casemap.cs')
-rw-r--r-- | IrcStates/Tests/Casemap.cs | 51 |
1 files changed, 50 insertions, 1 deletions
diff --git a/IrcStates/Tests/Casemap.cs b/IrcStates/Tests/Casemap.cs index fef9a31..7d78ee1 100644 --- a/IrcStates/Tests/Casemap.cs +++ b/IrcStates/Tests/Casemap.cs @@ -1,9 +1,58 @@ -using Microsoft.VisualStudio.TestTools.UnitTesting; +using IrcTokens; +using Microsoft.VisualStudio.TestTools.UnitTesting; namespace IrcStates.Tests { [TestClass] public class Casemap { + [TestMethod] + public void Rfc1459() + { + var lower = IrcStates.Casemap.CaseFold(IrcStates.Casemap.CaseMapping.Rfc1459, @"ÀTEST[]~\"); + Assert.AreEqual("Àtest{}^|", lower); + } + + [TestMethod] + public void Ascii() + { + var lower = IrcStates.Casemap.CaseFold(IrcStates.Casemap.CaseMapping.Ascii, @"ÀTEST[]~\"); + Assert.AreEqual(@"Àtest[]~\", lower); + } + + [TestMethod] + public void CommandJoin() + { + var server = new Server("test"); + server.ParseTokens(new Line("001 nickname")); + server.ParseTokens(new Line(":Nickname JOIN #Chan")); + server.ParseTokens(new Line(":Other JOIN #Chan")); + + Assert.IsTrue(server.Users.ContainsKey("nickname")); + Assert.IsFalse(server.Users.ContainsKey("Nickname")); + Assert.IsTrue(server.Users.ContainsKey("other")); + Assert.IsFalse(server.Users.ContainsKey("Other")); + Assert.IsTrue(server.Channels.ContainsKey("#chan")); + Assert.IsFalse(server.Channels.ContainsKey("#Chan")); + + var channel = server.Channels["#chan"]; + Assert.AreEqual("#Chan", channel.Name); + } + + [TestMethod] + public void CommandNick() + { + var server = new Server("test"); + server.ParseTokens(new Line("001 nickname")); + server.ParseTokens(new Line(":nickname JOIN #chan")); + var user = server.Users["nickname"]; + server.ParseTokens(new Line(":nickname NICK NewNickname")); + Assert.AreEqual(1, server.Users.Count); + Assert.IsTrue(server.Users.ContainsKey("newnickname")); + Assert.AreEqual("NewNickname", user.NickName); + Assert.AreEqual("newnickname", user.NickNameLower); + Assert.AreEqual("NewNickName", server.NickName); + Assert.AreEqual("newnickname", server.NickNameLower); + } } } |