diff options
author | E.Z. Hart <hartez@gmail.com> | 2017-06-26 16:17:55 -0600 |
---|---|---|
committer | E.Z. Hart <hartez@gmail.com> | 2017-06-26 16:17:55 -0600 |
commit | d308479def3a3e74974fc6fdf16ea7580b5ce198 (patch) | |
tree | 3f1b40a498210e771b50a23e2985bc8b39035512 /Xamarin.Forms.Core.UnitTests | |
parent | 78546aed89c87ace267d89c054b05bca012bfd64 (diff) | |
download | xamarin-forms-d308479def3a3e74974fc6fdf16ea7580b5ce198.tar.gz xamarin-forms-d308479def3a3e74974fc6fdf16ea7580b5ce198.tar.bz2 xamarin-forms-d308479def3a3e74974fc6fdf16ea7580b5ce198.zip |
Fix (hopefully) for occasional failures in PropertyChangeBindingsOccurThroughMainThread test
Diffstat (limited to 'Xamarin.Forms.Core.UnitTests')
-rw-r--r-- | Xamarin.Forms.Core.UnitTests/BindingBaseUnitTests.cs | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/Xamarin.Forms.Core.UnitTests/BindingBaseUnitTests.cs b/Xamarin.Forms.Core.UnitTests/BindingBaseUnitTests.cs index 71b6dd86..f6863f30 100644 --- a/Xamarin.Forms.Core.UnitTests/BindingBaseUnitTests.cs +++ b/Xamarin.Forms.Core.UnitTests/BindingBaseUnitTests.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Runtime.CompilerServices; +using System.Threading.Tasks; using NUnit.Framework; using Xamarin.Forms.Internals; @@ -604,7 +605,7 @@ namespace Xamarin.Forms.Core.UnitTests } [Test] - public void PropertyChangeBindingsOccurThroughMainThread() + public async Task PropertyChangeBindingsOccurThroughMainThread() { var vm = new MockViewModel { Text = "text" }; @@ -613,13 +614,13 @@ namespace Xamarin.Forms.Core.UnitTests bindable.BindingContext = vm; bindable.SetBinding(MockBindable.TextProperty, binding); - bool mainThread = false; - Device.PlatformServices = new MockPlatformServices(invokeOnMainThread: a => mainThread = true); + Device.PlatformServices = new MockPlatformServices(a => Assert.Pass()); vm.Text = "updated"; - Assert.IsTrue(mainThread, "Binding did not occur on main thread"); - Assert.AreNotEqual(vm.Text, bindable.GetValue(MockBindable.TextProperty), "Binding was applied anyway through other means"); + // If we wait five seconds and Assert.Pass still hasn't been called, something is very wrong + await Task.Delay(5000); + Assert.Fail(); } } |