Esempio n. 1
0
        public async Task InvokeTestFromOtherThread()
        {
            var collection = new ExtendedObservableCollection <string>();

            var firstTask = Task.Run(() =>
            {
                for (var i = 0; i <= 99999; i++)
                {
                    collection.Add("test1");
                }
            });

            var secondTask = Task.Run(() =>
            {
                for (var i = 0; i <= 99999; i++)
                {
                    collection.Add("test2");
                }
            });

            await Task.WhenAll(firstTask, secondTask);

            Assert.Equal(200000, collection.Count);
            Assert.Equal(100000, collection.Count(x => x == "test1"));
            Assert.Equal(100000, collection.Count(x => x == "test2"));
        }