Beispiel #1
0
        public void GeneratesIdThroughMethodTest()
        {
            Tavisca.RainDrop.RainDrop rd = new Tavisca.RainDrop.RainDrop();

            var id = rd.GetNextId(1, 1);
            Assert.IsTrue(id != 0);
        }
Beispiel #2
0
        public void DuplicateIdThroughMethodTest()
        {
            Tavisca.RainDrop.RainDrop rd = new Tavisca.RainDrop.RainDrop();
            List<long> ids = new List<long>();
            //ThreadPool.QueueUserWorkItem(state => ids.Add(GetId(URL)));
            Stopwatch watch = new Stopwatch();
            List<Thread> threads = new List<Thread>();
            for (int i = 0; i < 1000; i++)
            {
                threads.Add(new Thread(() => ids.Add(rd.GetNextId(1,1))));
            }
            watch.Start();
            threads.ForEach(thread => thread.Start());
            threads.ForEach(thread => thread.Join());
            watch.Stop();
            Console.WriteLine("Elapsed time : " + watch.ElapsedMilliseconds);
            ids.Sort();
            var newIds = ids.Distinct().ToList();

            Assert.IsTrue(newIds.Count == ids.Count);
        }