public void CheckCompetitionによる競合があるかどうかの確認(string bindStr1, string bindStr2, bool expected) { //setUp var sut = new BindAddr(bindStr1); var target = (bindStr2 == null) ? null : new BindAddr(bindStr2); //exercise var actual = sut.CheckCompetition(target); //verify Assert.That(actual, Is.EqualTo(expected)); }
// 初期化 private void Initialize(ListPlugin listPlugin) { Ar.Clear(); //Java fix if (kernel.RunMode == RunMode.Remote) { return; } foreach (OneOption op in kernel.ListOption) { if (!op.UseServer) { //サーバオプション以外は対象外にする continue; } //プラグイン情報の検索 OnePlugin onePlugin = listPlugin.Get(op.NameTag); // if (onePlugin == null) { // //設計上の問題 // Util.RuntimeException(string.Format("ListServer.initialize() listPlugin.get(%s)==null", op.getNameTag())); // } if (op.NameTag.IndexOf("Web-") == 0) { //既に同一ポートで仮想サーバがリストされている場合はサーバの生成は行わない bool find = false; int port = (int)op.GetValue("port"); BindAddr bindAddr = (BindAddr)op.GetValue("bindAddress2"); foreach (OneServer sv in Ar) { if (sv.NameTag.IndexOf("Web-") == 0) { OneOption o = kernel.ListOption.Get(sv.NameTag); if (o != null) { //同一ポートの設定が既にリストされているかどうか if (port == (int)o.GetValue("port")) { // バインドアドレスが競合しているかどうか if (bindAddr.CheckCompetition((BindAddr)o.GetValue("bindAddress2"))) { find = true; break; } } } } } if (!find) { AddServer(new Conf(op), onePlugin); //サーバ(OneServer)生成 } } else { AddServer(new Conf(op), onePlugin); //サーバ(OneServer)生成 } } }