public async Task WriteAsync02()
        {
            var channel = new ChannelQueue <PersonProper>();
            var people  = this.GetPersonProperArray(Tristate.False);

            await channel.WriteAsync(people).ConfigureAwait(false);

            base.Consumer.Consume(channel.Count);
        }
        private static async Task AddToQueue(ChannelQueue <PersonProper> channel, IList <PersonProper> people, CancellationToken token)
        {
            foreach (var person in people)
            {
                await channel.WriteAsync(person, cancellationToken : token).ConfigureAwait(false);
            }

            _ = channel.Lock();
        }
Пример #3
0
        public async Task WriteAsync02()
        {
            var channel = new ChannelQueue <PersonProper>();
            var people  = this.PersonProperList;

            await channel.WriteAsync(people).ConfigureAwait(false);

            this.Consumer.Consume(channel.Count);
        }
        public async Task WriteAsyncTest01()
        {
            var channel = new ChannelQueue <PersonProper>();
            var person  = RandomData.GenerateRefPerson <PersonProper>();
            var token   = CancellationToken.None;

            await channel.WriteAsync(person, cancellationToken : token).ConfigureAwait(false);

            Assert.IsTrue(channel.Count == 1);
        }
        public async Task WriteAsync01()
        {
            var channel = new ChannelQueue <PersonProper>();
            var people  = this.GetPersonProperArray(Tristate.False);

            for (var peopleCount = 0; peopleCount < people.Length; peopleCount++)
            {
                await channel.WriteAsync(people[peopleCount]).ConfigureAwait(false);
            }

            base.Consumer.Consume(channel.Count);
        }
        public async Task WriteAsyncTest03()
        {
            var       channel = new ChannelQueue <PersonProper>();
            const int Count   = 100;

            var people = RandomData.GeneratePersonRefCollection <PersonProper>(Count);
            var token  = CancellationToken.None;

            await channel.WriteAsync(people, lockQueue : true, cancellationToken : token).ConfigureAwait(false);

            Assert.IsTrue(channel.Count == Count);
        }
Пример #7
0
        public async Task WriteAsync01()
        {
            var channel = new ChannelQueue <PersonProper>();
            var people  = this.PersonProperList;

            for (var peopleCount = 0; peopleCount < people.Count; peopleCount++)
            {
                await channel.WriteAsync(people[peopleCount]).ConfigureAwait(false);
            }

            this.Consumer.Consume(channel.Count);
        }
        public async Task WriteReadAsyncTest04()
        {
            const int Capacity = 100;
            var       channel  = new ChannelQueue <PersonProper>(Capacity);
            var       people   = RandomData.GeneratePersonRefCollection <PersonProper>(Capacity);
            var       token    = CancellationToken.None;

            foreach (var person in people)
            {
                await channel.WriteAsync(person, cancellationToken : token).ConfigureAwait(false);
            }

            Assert.IsTrue(channel.Count == Capacity);

            do
            {
                _ = await channel.ReadAsync(token).ConfigureAwait(false);
            } while (channel.Count != 0);

            Assert.IsTrue(channel.Count == 0);
        }
        public async Task WriteAsyncTest02()
        {
            var channel = new ChannelQueue <PersonProper>();
            var person  = RandomData.GenerateRefPerson <PersonProper>();
            var token   = CancellationToken.None;

            _ = channel.Lock();

            try
            {
                await channel.WriteAsync(person, cancellationToken : token).ConfigureAwait(false);
            }
            catch (ChannelClosedException ex)
            {
                Trace.WriteLine(ex);

                Assert.IsTrue(true);
            }
            catch
            {
                Assert.Fail();
            }
        }
        public async Task WriteReadAsyncTest03()
        {
            var       channel = new ChannelQueue <PersonProper>();
            const int Count   = 5;

            var people = RandomData.GeneratePersonRefCollection <PersonProper>(Count);
            var token  = CancellationToken.None;

            foreach (var person in people)
            {
                await channel.WriteAsync(person, cancellationToken : token).ConfigureAwait(false);
            }

            Assert.IsTrue(channel.Count == Count);

            _ = channel.Lock();

            await foreach (var item in channel.ListenAsync(token))
            {
                Trace.WriteLine(item.Email);
            }

            Assert.IsTrue(channel.Count == 0);
        }