public void AddSingleServer_MoreThanOnce() { var server = new ServerContext { Url = "1" }; var cc = new ClientContext(); // add the same server multiple times cc.AddServer(server); cc.AddServer(server); cc.AddServer(server); // expectation: added only once Assert.AreEqual(1, cc.Servers.Length); Assert.AreEqual(server, cc.Server); }
public void AddMultipleServers_Parallel() { var ids = Enumerable.Range(0, 500).ToArray(); var serversToAdd = ids.Select(i => new ServerContext { Url = i.ToString() }).ToArray(); var cc = new ClientContext(); Parallel.ForEach(serversToAdd, s => cc.AddServer(s)); // We have to sort the added servers before comparing to the original list, // because Parallel.Foreach adds items in a mixed order. var actual = string.Join(";", cc.Servers.Select(s => Convert.ToInt32(s.Url)).OrderBy(sid => sid)); Assert.AreEqual(string.Join(";", ids), actual); }