summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Core.UnitTests
diff options
context:
space:
mode:
authorE.Z. Hart <hartez@gmail.com>2017-06-26 16:17:55 -0600
committerE.Z. Hart <hartez@gmail.com>2017-06-26 16:17:55 -0600
commitd308479def3a3e74974fc6fdf16ea7580b5ce198 (patch)
tree3f1b40a498210e771b50a23e2985bc8b39035512 /Xamarin.Forms.Core.UnitTests
parent78546aed89c87ace267d89c054b05bca012bfd64 (diff)
downloadxamarin-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.cs11
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();
}
}