From 8b9693d99621386a93200748ac91fc3981540e4b Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Thu, 18 Feb 2016 11:37:04 +0100 Subject: [PATCH] Don't throw in LogicalNotNode.SetValue. Instead return false to indicate the write failed. --- src/Markup/Perspex.Markup/Data/LogicalNotNode.cs | 2 +- .../Data/ExpressionObserverTests_Negation.cs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Markup/Perspex.Markup/Data/LogicalNotNode.cs b/src/Markup/Perspex.Markup/Data/LogicalNotNode.cs index 2447aee4f2..a2941684b4 100644 --- a/src/Markup/Perspex.Markup/Data/LogicalNotNode.cs +++ b/src/Markup/Perspex.Markup/Data/LogicalNotNode.cs @@ -11,7 +11,7 @@ namespace Perspex.Markup.Data { public override bool SetValue(object value) { - throw new NotSupportedException("Cannot set a negated binding."); + return false; } public override IDisposable Subscribe(IObserver observer) diff --git a/tests/Perspex.Markup.UnitTests/Data/ExpressionObserverTests_Negation.cs b/tests/Perspex.Markup.UnitTests/Data/ExpressionObserverTests_Negation.cs index 3581a71563..9dc40ece00 100644 --- a/tests/Perspex.Markup.UnitTests/Data/ExpressionObserverTests_Negation.cs +++ b/tests/Perspex.Markup.UnitTests/Data/ExpressionObserverTests_Negation.cs @@ -81,12 +81,12 @@ namespace Perspex.Markup.UnitTests.Data } [Fact] - public void SetValue_Should_Throw() + public void SetValue_Should_Return_False() { var data = new { Foo = "foo" }; var target = new ExpressionObserver(data, "!Foo"); - Assert.Throws(() => target.SetValue("bar")); + Assert.False(target.SetValue("bar")); } } }