using Microsoft.VisualStudio.TestTools.UnitTesting; namespace IRCTokens.Tests { [TestClass] public class Hostmask { [TestMethod] public void FullHostmask() { var hostmask = new IRCTokens.Hostmask("nick!user@host"); Assert.AreEqual("nick", hostmask.NickName); Assert.AreEqual("user", hostmask.UserName); Assert.AreEqual("host", hostmask.HostName); } [TestMethod] public void NoHostName() { var hostmask = new IRCTokens.Hostmask("nick!user"); Assert.AreEqual("nick", hostmask.NickName); Assert.AreEqual("user", hostmask.UserName); Assert.IsNull(hostmask.HostName); } [TestMethod] public void NoUserName() { var hostmask = new IRCTokens.Hostmask("nick@host"); Assert.AreEqual("nick", hostmask.NickName); Assert.IsNull(hostmask.UserName); Assert.AreEqual("host", hostmask.HostName); } [TestMethod] public void OnlyNickName() { var hostmask = new IRCTokens.Hostmask("nick"); Assert.AreEqual("nick", hostmask.NickName); Assert.IsNull(hostmask.UserName); Assert.IsNull(hostmask.HostName); } [TestMethod] public void HostmaskFromLine() { var line = new Line(":nick!user@host PRIVMSG #channel hello"); var hostmask = new IRCTokens.Hostmask("nick!user@host"); Assert.AreEqual(hostmask.ToString(), line.Hostmask.ToString()); Assert.AreEqual("nick", line.Hostmask.NickName); Assert.AreEqual("user", line.Hostmask.UserName); Assert.AreEqual("host", line.Hostmask.HostName); } [TestMethod] public void EmptyHostmaskFromLine() { var line = new Line("PRIVMSG #channel hello"); Assert.IsNull(line.Hostmask.HostName); Assert.IsNull(line.Hostmask.UserName); Assert.IsNull(line.Hostmask.NickName); } } }