2022-03-25 19:11:48 +00:00
|
|
|
|
using IRCStates;
|
|
|
|
|
using IRCTokens;
|
2020-05-06 06:04:00 +00:00
|
|
|
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
2020-04-22 20:28:51 +00:00
|
|
|
|
|
2022-03-25 19:11:48 +00:00
|
|
|
|
namespace IRCSharp.Tests.State
|
2020-04-22 20:28:51 +00:00
|
|
|
|
{
|
|
|
|
|
[TestClass]
|
|
|
|
|
public class Who
|
|
|
|
|
{
|
2020-05-06 06:04:00 +00:00
|
|
|
|
private Server _server;
|
|
|
|
|
|
|
|
|
|
[TestInitialize]
|
|
|
|
|
public void TestInitialize()
|
|
|
|
|
{
|
|
|
|
|
_server = new Server("test");
|
2020-05-13 18:20:47 +00:00
|
|
|
|
_server.Parse(new Line("001 nickname"));
|
|
|
|
|
_server.Parse(new Line(":nickname JOIN #chan"));
|
2020-05-06 06:04:00 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[TestMethod]
|
|
|
|
|
public void WhoResponse()
|
|
|
|
|
{
|
2020-05-13 18:20:47 +00:00
|
|
|
|
_server.Parse(new Line("352 * #chan user host server nickname * :0 real"));
|
2020-05-06 06:04:00 +00:00
|
|
|
|
var user = _server.Users["nickname"];
|
|
|
|
|
|
|
|
|
|
Assert.AreEqual("user", user.UserName);
|
|
|
|
|
Assert.AreEqual("host", _server.HostName);
|
|
|
|
|
Assert.AreEqual("real", user.RealName);
|
|
|
|
|
|
|
|
|
|
Assert.AreEqual(user.UserName, _server.UserName);
|
|
|
|
|
Assert.AreEqual(user.HostName, _server.HostName);
|
|
|
|
|
Assert.AreEqual(user.RealName, _server.RealName);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[TestMethod]
|
|
|
|
|
public void Whox()
|
|
|
|
|
{
|
2020-05-13 18:20:47 +00:00
|
|
|
|
_server.Parse(new Line($"354 * {Server.WhoType} user realip host nickname account :real"));
|
2020-05-06 06:04:00 +00:00
|
|
|
|
var user = _server.Users["nickname"];
|
|
|
|
|
|
|
|
|
|
Assert.AreEqual("user", user.UserName);
|
|
|
|
|
Assert.AreEqual("host", user.HostName);
|
|
|
|
|
Assert.AreEqual("real", user.RealName);
|
|
|
|
|
Assert.AreEqual("account", user.Account);
|
|
|
|
|
|
|
|
|
|
Assert.AreEqual(user.UserName, _server.UserName);
|
|
|
|
|
Assert.AreEqual(user.HostName, _server.HostName);
|
|
|
|
|
Assert.AreEqual(user.RealName, _server.RealName);
|
|
|
|
|
Assert.AreEqual(user.Account, _server.Account);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[TestMethod]
|
|
|
|
|
public void WhoxNoAccount()
|
|
|
|
|
{
|
2020-05-13 18:20:47 +00:00
|
|
|
|
_server.Parse(new Line($"354 * {Server.WhoType} user realip host nickname 0 :real"));
|
2020-05-06 06:04:00 +00:00
|
|
|
|
var user = _server.Users["nickname"];
|
|
|
|
|
|
|
|
|
|
Assert.IsNull(user.Account);
|
|
|
|
|
Assert.AreEqual(user.Account, _server.Account);
|
|
|
|
|
}
|
2020-04-22 20:28:51 +00:00
|
|
|
|
}
|
|
|
|
|
}
|