public void CanParseNumericReply() { var data = "001"; var ircMessage = new ParsedIrcMessage(data); Assert.Equal(IrcNumericReply.RPL_WELCOME, ircMessage.NumericReply); }
public void CanParseIRCCommand() { var data = "PING"; var ircMessage = new ParsedIrcMessage(data); Assert.Equal(IrcCommand.PING, ircMessage.IrcCommand); }
public void SetUnknownIRCCommandIfNotFound() { var data = "PONG"; var ircMessage = new ParsedIrcMessage(data); Assert.Equal(IrcCommand.UNKNOWN, ircMessage.IrcCommand); }
public void CanParseThePrefix() { var prefix = "prefix"; var ircMessage = new ParsedIrcMessage($":{prefix} "); Assert.Equal(prefix, ircMessage.Prefix.From); }
public void CanSetRawData() { var rawData = "raw"; var ircMessage = new ParsedIrcMessage(rawData); Assert.Equal(rawData, ircMessage.Raw); }
public void SetUnknownNumericReplyIfNotFound() { var data = "900"; var ircMessage = new ParsedIrcMessage(data); Assert.Equal(IrcNumericReply.UNKNOWN, ircMessage.NumericReply); }
public void SetIsNumericProperty() { var data = "001"; var ircMessage = new ParsedIrcMessage(data); Assert.Equal(true, ircMessage.IsNumeric); }
/// <summary> /// Creates a new instance from an incoming server message /// </summary> /// <param name="parsedMessage">Incoming message</param> public PrivateMessage(ParsedIrcMessage parsedMessage) { From = parsedMessage.Prefix.From; Prefix = parsedMessage.Prefix; To = parsedMessage.Parameters[0]; Message = parsedMessage.Trailing; }
public void PingCommand() { var command = "PING"; var parameter = "tolsun.oulu.fi"; var parsedIRCMessage = new ParsedIrcMessage($"{command} {parameter}"); var ircMessage = IrcMessage.Create(parsedIRCMessage); Assert.IsType <PingMessage>(ircMessage); }
public void CanParseCommandWithSingleParameter() { var command = "PING"; var parameter = "tolsun.oulu.fi"; var ircMessage = new ParsedIrcMessage($"{command} {parameter}"); Assert.Equal(command, ircMessage.Command); Assert.Equal(parameter, ircMessage.Parameters[0]); }
public void GoodToStringOverride() { var prefix = "[email protected]"; var command = "PRIVMSG"; var target = "Wiz"; var text = "Are you receiving this message ?"; var ircMessage = new ParsedIrcMessage($":{prefix} {command} {target} :{text}"); Assert.Equal($"Prefix: {prefix}, Command: {command}, Params: {{ {target}, {text} }}, Trailing: {text}", ircMessage.ToString()); }
public static IServerMessage Create(ParsedIrcMessage parsedMessage) { var messageType = ServerMessageTypes.ContainsKey(parsedMessage.Command) ? ServerMessageTypes[parsedMessage.Command] : null; return(messageType != null ? Activator.CreateInstance(messageType, new object[] { parsedMessage }) as IServerMessage : null); }
public void CanParseCommandWithTwoParameters() { var command = "MODE"; var nick = "Angel"; var mode = "+i"; var ircMessage = new ParsedIrcMessage($"{command} {nick} {mode}"); Assert.Equal(command, ircMessage.Command); Assert.Equal(nick, ircMessage.Parameters[0]); Assert.Equal(mode, ircMessage.Parameters[1]); }
public void JoinMessageFromServer() { var nick = "WiZ"; var channel = "#Twilight_zone"; var parsedIRCMessage = new ParsedIrcMessage($":{nick} JOIN {channel}"); var ircMessage = IrcMessage.Create(parsedIRCMessage); var joinMessage = Assert.IsType <JoinMessage>(ircMessage); Assert.Equal(nick, joinMessage.Nick); Assert.Equal(channel, joinMessage.Channel); }
public void NickMessageFromServer() { var oldNick = "WiZ"; var newNick = "Kilroy"; var parsedIRCMessage = new ParsedIrcMessage($":{oldNick} NICK {newNick}"); var ircMessage = IrcMessage.Create(parsedIRCMessage); var nickMessage = Assert.IsType <NickMessage>(ircMessage); Assert.Equal(oldNick, nickMessage.OldNick); Assert.Equal(newNick, nickMessage.NewNick); }
public void QuitMessageFromServer() { var nick = "WiZ"; var message = "Out for lunch"; var parsedIRCMessage = new ParsedIrcMessage($":{nick}[email protected] QUIT :{message}"); var ircMessage = IrcMessage.Create(parsedIRCMessage); var quitMessage = Assert.IsType <QuitMessage>(ircMessage); Assert.Equal(nick, quitMessage.Nick); Assert.Equal(message, quitMessage.Message); }
public void PartMessageFromServer() { var nick = "WiZ"; var channel = "#NetIRC"; var parsedIRCMessage = new ParsedIrcMessage($":{nick}[email protected] PART {channel}"); var ircMessage = IrcMessage.Create(parsedIRCMessage); var partMessage = Assert.IsType <PartMessage>(ircMessage); Assert.Equal(nick, partMessage.Nick); Assert.Equal(channel, partMessage.Channel); }
public void CanParseCommandWithTrailing() { var prefix = "[email protected]"; var command = "PRIVMSG"; var target = "Wiz"; var text = "Are you receiving this message ?"; var ircMessage = new ParsedIrcMessage($":{prefix} {command} {target} :{text}"); Assert.Equal(prefix, ircMessage.Prefix.Raw); Assert.Equal(command, ircMessage.Command); Assert.Equal(target, ircMessage.Parameters[0]); Assert.Equal(text, ircMessage.Trailing); }
public void TriggersIRCMessageReceived() { var raw = ":irc.rizon.io 439 * :Please wait while we process your connection."; ParsedIrcMessage ircMessage = null; client.OnIrcMessageParsed += (c, m) => ircMessage = m; RaiseDataReceived(mockConnection, client, raw); Assert.Equal("irc.rizon.io", ircMessage.Prefix.From); Assert.Equal("439", ircMessage.Command); Assert.Equal("*", ircMessage.Parameters[0]); Assert.Equal("Please wait while we process your connection.", ircMessage.Trailing); }
public void NoticeMessageFromServer() { var from = "irc.server.net"; var command = "NOTICE"; var target = "WiZ"; var text = "Are you receiving this message ?"; var parsedIRCMessage = new ParsedIrcMessage($":{from} {command} {target} :{text}"); var ircMessage = IrcMessage.Create(parsedIRCMessage); var privMsgMessage = Assert.IsType <NoticeMessage>(ircMessage); Assert.Equal(from, privMsgMessage.From); Assert.Equal(target, privMsgMessage.Target); Assert.Equal(text, privMsgMessage.Message); }
public void PrivMsgMessageFromServer() { var prefix = "[email protected]"; var command = "PRIVMSG"; var target = "WiZ"; var text = "Are you receiving this message ?"; var parsedIRCMessage = new ParsedIrcMessage($":{prefix} {command} {target} :{text}"); var ircMessage = IrcMessage.Create(parsedIRCMessage); var privMsgMessage = Assert.IsType <PrivateMessage>(ircMessage); Assert.Equal(prefix, privMsgMessage.Prefix.Raw); Assert.Equal(target, privMsgMessage.To); Assert.Equal(text, privMsgMessage.Message); }
public void RplNamReplyMessage() { var channel = "#NetIRC"; var nick1 = "NetIRCConsoleClient"; var nick2 = "Fredi_"; var parsedIRCMessage = new ParsedIrcMessage($":irc.server.net 353 NetIRCConsoleClient = {channel} :{nick1} @{nick2}"); var ircMessage = IrcMessage.Create(parsedIRCMessage); var rplNamReplyMessage = Assert.IsType <RplNamReplyMessage>(ircMessage); Assert.Equal(channel, rplNamReplyMessage.Channel); Assert.Equal(2, rplNamReplyMessage.Nicks.Count); Assert.Equal(nick1, rplNamReplyMessage.Nicks.Keys.ElementAt(0)); Assert.Equal(nick2, rplNamReplyMessage.Nicks.Keys.ElementAt(1)); Assert.Equal("@", rplNamReplyMessage.Nicks[nick2]); }
public RplNamReplyMessage(ParsedIrcMessage parsedMessage) { Nicks = new Dictionary <string, string>(); Channel = parsedMessage.Parameters[2]; var nicks = parsedMessage.Trailing.Split(' '); foreach (var nick in nicks) { if (!string.IsNullOrWhiteSpace(nick) && userStatuses.Contains(nick[0])) { Nicks.Add(nick.Substring(1), nick.Substring(0, 1)); } else { Nicks.Add(nick, string.Empty); } } }
public RplCreatedMessage(ParsedIrcMessage parsedMessage) { Text = parsedMessage.Trailing; }
/// <summary> /// Creates a new instance from an incoming server message /// </summary> /// <param name="parsedMessage">Incoming message</param> public JoinMessage(ParsedIrcMessage parsedMessage) { Nick = parsedMessage.Prefix.From; Channel = parsedMessage.Parameters[0]; }
/// <summary> /// Creates a new instance from an incoming server message /// </summary> /// <param name="parsedMessage">Incoming message</param> public PingMessage(ParsedIrcMessage parsedMessage) { Target = parsedMessage.Trailing ?? parsedMessage.Parameters[0]; }
public RplWelcomeMessage(ParsedIrcMessage parsedMessage) { Text = parsedMessage.Trailing; }
public NickMessage(ParsedIrcMessage parsedMessage) { OldNick = parsedMessage.Prefix.From; NewNick = parsedMessage.Parameters[0]; }
public RplISupportMessage(ParsedIrcMessage parsedMessage) { Parameters = parsedMessage.Parameters; Text = parsedMessage.Trailing; }
/// <summary> /// Creates a new instance from an incoming server message /// </summary> /// <param name="parsedMessage">Incoming message</param> public NoticeMessage(ParsedIrcMessage parsedMessage) { From = parsedMessage.Prefix.From; Target = parsedMessage.Parameters[0]; Message = parsedMessage.Trailing; }