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) { } }
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"]); }
/// <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; }