Example #1
0
        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);
        }
Example #2
0
        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);
        }