public void Test_Basic() { var test = Enumerable.Range(0, EnumerableCount); var producer = new EnumerableProducer <int> (Task.Factory, test); var queue = new ConcurrentQueue <int> (); var l = new object(); using (producer.Subscribe( queue.Enqueue, () => { lock (l) { Monitor.Pulse(l); } } )) { lock (l) { producer.Start(); Monitor.Wait(l); } } TestFor.Equality(EnumerableCount, queue.Count, "Queue must have expected count"); TestFor.Equality(true, test.SequenceEqual(queue), "Queue must be equal to test sequence"); }
public void Test_Basic() { var test = Enumerable.Range (0, EnumerableCount); var producer = new EnumerableProducer<int> (Task.Factory, test); var queue = new ConcurrentQueue<int> (); var l = new object (); using (producer.Subscribe ( queue.Enqueue, () => { lock (l) { Monitor.Pulse (l); } } )) { lock (l) { producer.Start (); Monitor.Wait (l); } } TestFor.Equality (EnumerableCount, queue.Count, "Queue must have expected count"); TestFor.Equality (true, test.SequenceEqual (queue), "Queue must be equal to test sequence"); }