public void GeneratesIdThroughMethodTest() { Tavisca.RainDrop.RainDrop rd = new Tavisca.RainDrop.RainDrop(); var id = rd.GetNextId(1, 1); Assert.IsTrue(id != 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); }