Ejemplo n.º 1
0
        public void CanParseNumericReply()
        {
            var data       = "001";
            var ircMessage = new ParsedIrcMessage(data);

            Assert.Equal(IrcNumericReply.RPL_WELCOME, ircMessage.NumericReply);
        }
Ejemplo n.º 2
0
        public void CanParseIRCCommand()
        {
            var data       = "PING";
            var ircMessage = new ParsedIrcMessage(data);

            Assert.Equal(IrcCommand.PING, ircMessage.IrcCommand);
        }
Ejemplo n.º 3
0
        public void SetUnknownIRCCommandIfNotFound()
        {
            var data       = "PONG";
            var ircMessage = new ParsedIrcMessage(data);

            Assert.Equal(IrcCommand.UNKNOWN, ircMessage.IrcCommand);
        }
Ejemplo n.º 4
0
        public void CanParseThePrefix()
        {
            var prefix     = "prefix";
            var ircMessage = new ParsedIrcMessage($":{prefix} ");

            Assert.Equal(prefix, ircMessage.Prefix.From);
        }
Ejemplo n.º 5
0
        public void CanSetRawData()
        {
            var rawData    = "raw";
            var ircMessage = new ParsedIrcMessage(rawData);

            Assert.Equal(rawData, ircMessage.Raw);
        }
Ejemplo n.º 6
0
        public void SetUnknownNumericReplyIfNotFound()
        {
            var data       = "900";
            var ircMessage = new ParsedIrcMessage(data);

            Assert.Equal(IrcNumericReply.UNKNOWN, ircMessage.NumericReply);
        }
Ejemplo n.º 7
0
        public void SetIsNumericProperty()
        {
            var data       = "001";
            var ircMessage = new ParsedIrcMessage(data);

            Assert.Equal(true, ircMessage.IsNumeric);
        }
Ejemplo n.º 8
0
 /// <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;
 }
Ejemplo n.º 9
0
        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);
        }
Ejemplo n.º 10
0
        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]);
        }
Ejemplo n.º 11
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());
        }
Ejemplo n.º 12
0
        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);
        }
Ejemplo n.º 13
0
        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]);
        }
Ejemplo n.º 14
0
        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);
        }
Ejemplo n.º 15
0
        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);
        }
Ejemplo n.º 16
0
        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);
        }
Ejemplo n.º 17
0
        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);
        }
Ejemplo n.º 18
0
        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);
        }
Ejemplo n.º 19
0
        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);
        }
Ejemplo n.º 20
0
        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);
        }
Ejemplo n.º 21
0
        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);
        }
Ejemplo n.º 22
0
        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]);
        }
Ejemplo n.º 23
0
        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);
                }
            }
        }
Ejemplo n.º 24
0
 public RplCreatedMessage(ParsedIrcMessage parsedMessage)
 {
     Text = parsedMessage.Trailing;
 }
Ejemplo n.º 25
0
 /// <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];
 }
Ejemplo n.º 26
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];
 }
Ejemplo n.º 27
0
 public RplWelcomeMessage(ParsedIrcMessage parsedMessage)
 {
     Text = parsedMessage.Trailing;
 }
Ejemplo n.º 28
0
 public NickMessage(ParsedIrcMessage parsedMessage)
 {
     OldNick = parsedMessage.Prefix.From;
     NewNick = parsedMessage.Parameters[0];
 }
Ejemplo n.º 29
0
 public RplISupportMessage(ParsedIrcMessage parsedMessage)
 {
     Parameters = parsedMessage.Parameters;
     Text       = parsedMessage.Trailing;
 }
Ejemplo n.º 30
0
 /// <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;
 }