From 53da4d4c2a31d939c9ca92345ea935b7502b4e48 Mon Sep 17 00:00:00 2001 From: Ben Harris Date: Wed, 29 Apr 2020 01:28:48 -0400 Subject: Start to port some ircstates tests --- IrcStates/Tests/Casemap.cs | 51 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) (limited to 'IrcStates/Tests/Casemap.cs') 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); + } } } -- cgit 1.4.1