コード例 #1
0
        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");
        }
コード例 #2
0
        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");
        }