From 7ffb12ea988a9bb29734e1e0a5147d56343f7f65 Mon Sep 17 00:00:00 2001 From: stakx Date: Sun, 3 Dec 2017 15:11:22 +0100 Subject: [PATCH] Restore provider correctly in `FluentMockContext` --- Source/FluentMockContext.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Source/FluentMockContext.cs b/Source/FluentMockContext.cs index 25fd3231d..654a86df2 100644 --- a/Source/FluentMockContext.cs +++ b/Source/FluentMockContext.cs @@ -100,14 +100,15 @@ public void Dispose() internal class MockInvocation : IDisposable { - private DefaultValue defaultValue; + private DefaultValueProvider defaultValueProvider; public MockInvocation(Mock mock, Invocation invocation, Match matcher) { this.Mock = mock; this.Invocation = invocation; this.Match = matcher; - defaultValue = mock.DefaultValue; + this.defaultValueProvider = mock.DefaultValueProvider; + // Temporarily set mock default value to Mock so that recursion works. mock.DefaultValue = DefaultValue.Mock; } @@ -120,7 +121,7 @@ public MockInvocation(Mock mock, Invocation invocation, Match matcher) public void Dispose() { - Mock.DefaultValue = defaultValue; + this.Mock.DefaultValueProvider = this.defaultValueProvider; } } }