示例#1
0
 public void AddServer()
 {
     IrcNetwork network = new IrcNetwork(protocol, "bar");
     IrcServerEndPoint server = network.AddServer("test", "localhost:6667");
     Assert.NotNull(server);
     Assert.AreEqual("localhost", server.Address);
     Assert.AreEqual("test", server.Name);
     Assert.AreEqual(6667, server.Port);
     Assert.AreEqual(network["test"], server);
     Assert.AreEqual(1, network.ServerCount);
     network = new IrcNetwork(protocol, "bar");
     server = network.AddServer("foo", "www.google.de:6669");
     Assert.NotNull(server);
     Assert.AreEqual("www.google.de", server.Address);
     Assert.AreEqual("foo", server.Name);
     Assert.AreEqual(network["foo"], server);
     Assert.AreEqual(6669, server.Port);
     network.AddServer("test", "localhost:6667");
     Assert.AreEqual(2, network.ServerCount);
     try
     {
         network.AddServer("foo", "localhost:6669");
         Assert.Fail("Added a second server with the same name, as an already added one");
     }
     catch (ArgumentException)
     {
     }
 }
示例#2
0
 public void RemoveServer()
 {
     IrcNetwork network = new IrcNetwork(protocol, "test");
     network.AddServer("test", "localhost:6667");
     network.RemoveServer("test");
     Assert.AreEqual(0, network.ServerCount);
     network = new IrcNetwork(protocol, "test");
     network.AddServer("test1", "localhost:6667");
     network.AddServer("test2", "localhost:6667");
     Assert.IsTrue(network.RemoveServer("test2"));
     Assert.AreEqual(1, network.ServerCount);
     Assert.IsNull(network["test2"]);
     Assert.IsNotNull(network["test1"]);
     Assert.IsTrue(network.RemoveServer("test1"));
     Assert.AreEqual(0, network.ServerCount);
     Assert.IsNull(network["test1"]);
 }
示例#3
0
        /// <summary>
        /// Loads the networks setinngs into a new IrcNetwork instance.
        /// </summary>
        /// <param name="settings">The settings to load.</param>
        /// <returns>The IrcNetwork instance as an INetwork.</returns>
        /// <exception cref="UnsupportedProtocolExteption">
        /// An UnsupportedProtocolExteption is thrown, if the given settings object is for
        /// another protocol.
        /// </exception>
        public IrcShark.Chatting.INetwork LoadNetwork(NetworkSettings settings)
        {
            if (!settings.Protocol.Equals(Protocol.Name))
            {
                throw new UnsupportedProtocolException();
            }

            IrcNetwork result = new IrcNetwork(IrcProtocol.GetInstance(), settings.Name);
            foreach (ServerSettings server in settings.Servers)
            {
                IrcServerEndPoint ircsrv = result.AddServer(server.Name, server.Address);
                if (server.Parameters.ContainsKey("password"))
                {
                    ircsrv.Password = server.Parameters["password"];
                }
            }

            return result;
        }