Skip to content

Commit 9351c13

Browse files
Merge pull request #110 from telerik/R3.SP1.2019Lite
Merge R3 SP1 2019 to master
2 parents 6864017 + d8d328e commit 9351c13

File tree

14 files changed

+101
-45
lines changed

14 files changed

+101
-45
lines changed

Build/Config.targets

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<Project>
22
<PropertyGroup>
3-
<VSINSTALLDIR>C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\</VSINSTALLDIR>
3+
<VSINSTALLDIR>C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\</VSINSTALLDIR>
44
</PropertyGroup>
5-
</Project>
5+
</Project>

Telerik.JustMock.DemoLib/Telerik.JustMock.DemoLib.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFrameworks>net45;netcoreapp2.0</TargetFrameworks>
3+
<TargetFrameworks>net45;netcoreapp2.0;netcoreapp3.0</TargetFrameworks>
44
<Configurations>Debug;Release;ReleaseFree;DebugFree</Configurations>
55
<AssemblyName>Telerik.JustMock.DemoLib</AssemblyName>
66
<RootNamespace>Telerik.JustMock.DemoLib</RootNamespace>
@@ -52,7 +52,7 @@
5252
<ErrorReport>prompt</ErrorReport>
5353
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
5454
</PropertyGroup>
55-
<PropertyGroup Condition="'$(TargetFramework)' == 'netcoreapp2.0' ">
55+
<PropertyGroup Condition="'$(TargetFramework)' == 'netcoreapp2.0' Or '$(TargetFramework)' == 'netcoreapp3.0'">
5656
<DefineConstants>$(DefineConstants);NETCORE</DefineConstants>
5757
</PropertyGroup>
5858
<PropertyGroup>

Telerik.JustMock.DemoLibSigned/Telerik.JustMock.DemoLibSigned.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFrameworks>net45;netcoreapp2.0</TargetFrameworks>
3+
<TargetFrameworks>net45;netcoreapp2.0;netcoreapp3.0</TargetFrameworks>
44
<Configurations>Debug;Release;DebugFree;ReleaseFree</Configurations>
55
<AssemblyName>Telerik.JustMock.DemoLibSigned</AssemblyName>
66
<RootNamespace>Telerik.JustMock.DemoLibSigned</RootNamespace>
@@ -43,7 +43,7 @@
4343
<ErrorReport>prompt</ErrorReport>
4444
<WarningLevel>4</WarningLevel>
4545
</PropertyGroup>
46-
<PropertyGroup Condition="'$(TargetFramework)' == 'netcoreapp2.0' ">
46+
<PropertyGroup Condition="'$(TargetFramework)' == 'netcoreapp2.0' Or '$(TargetFramework)' == 'netcoreapp3.0'">
4747
<DefineConstants>$(DefineConstants);NETCORE</DefineConstants>
4848
</PropertyGroup>
4949
<PropertyGroup>

Telerik.JustMock.MSTest2.Tests/Telerik.JustMock.MSTest2.Tests.csproj

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFrameworks>net451;netcoreapp2.0</TargetFrameworks>
3+
<TargetFrameworks>net451;netcoreapp2.0;netcoreapp3.0</TargetFrameworks>
44
<Configurations>Debug;Release;ReleaseFree;DebugFree</Configurations>
55
<AssemblyName>Telerik.JustMock.MSTest2.Tests</AssemblyName>
66
<RootNamespace>Telerik.JustMock.Tests</RootNamespace>
@@ -51,9 +51,12 @@
5151
<Prefer32Bit>false</Prefer32Bit>
5252
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
5353
</PropertyGroup>
54-
<PropertyGroup Condition="'$(TargetFramework)' == 'netcoreapp2.0' ">
54+
<PropertyGroup Condition="'$(TargetFramework)' == 'netcoreapp2.0' Or '$(TargetFramework)' == 'netcoreapp3.0'">
5555
<DefineConstants>$(DefineConstants);NETCORE</DefineConstants>
5656
</PropertyGroup>
57+
<PropertyGroup Condition="'$(TargetFramework)' == 'netcoreapp3.0'">
58+
<DefineConstants>$(DefineConstants);NETCORE30</DefineConstants>
59+
</PropertyGroup>
5760
<PropertyGroup>
5861
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
5962
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
@@ -62,12 +65,9 @@
6265
<AppDesignerFolder>Properties</AppDesignerFolder>
6366
<FileAlignment>512</FileAlignment>
6467
<ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
65-
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">15.0</VisualStudioVersion>
66-
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
6768
<NuGetPackageImportStamp />
6869
<TargetFrameworkProfile />
6970
</PropertyGroup>
70-
<Import Project="$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets" Condition="Exists('$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets')" />
7171
<Import Project="..\Telerik.JustMock.Tests\Telerik.JustMock.Tests.projitems" Label="Shared" />
7272
<Import Project="..\Telerik.JustMock.Tests.Base\Telerik.JustMock.Tests.Base.projitems" Label="Shared" />
7373
<ItemGroup>
@@ -76,10 +76,10 @@
7676
<ProjectReference Include="..\Telerik.JustMock\Telerik.JustMock.csproj" />
7777
</ItemGroup>
7878
<ItemGroup>
79+
<PackageReference Include="Microsoft.CSharp" Version="4.5.0" />
7980
<PackageReference Include="MSTest.TestAdapter" Version="1.1.18" />
8081
<PackageReference Include="MSTest.TestFramework" Version="1.1.18" />
8182
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" />
82-
<PackageReference Include="Microsoft.CSharp" Version="4.5.0" />
8383
<PackageReference Include="System.Dynamic.Runtime" Version="4.3.0" />
8484
</ItemGroup>
8585
</Project>

Telerik.JustMock.NUnit.Tests/Telerik.JustMock.NUnit.Tests.csproj

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFrameworks>net451;netcoreapp2.0</TargetFrameworks>
3+
<TargetFrameworks>net451;netcoreapp2.0;netcoreapp3.0</TargetFrameworks>
44
<Configurations>Debug;Release;DebugFree;ReleaseFree</Configurations>
55
<AssemblyName>Telerik.JustMock.NUnit.Tests</AssemblyName>
66
<RootNamespace>Telerik.JustMock.Tests</RootNamespace>
@@ -44,7 +44,7 @@
4444
<WarningLevel>4</WarningLevel>
4545
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
4646
</PropertyGroup>
47-
<PropertyGroup Condition="'$(TargetFramework)' == 'netcoreapp2.0' ">
47+
<PropertyGroup Condition="'$(TargetFramework)' == 'netcoreapp2.0' Or '$(TargetFramework)' == 'netcoreapp3.0'">
4848
<DefineConstants>$(DefineConstants);NETCORE</DefineConstants>
4949
</PropertyGroup>
5050
<PropertyGroup>
@@ -55,18 +55,14 @@
5555
<AppDesignerFolder>Properties</AppDesignerFolder>
5656
<FileAlignment>512</FileAlignment>
5757
<ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
58-
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">15.0</VisualStudioVersion>
59-
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
6058
<ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages</ReferencePath>
6159
<IsCodedUITest>False</IsCodedUITest>
6260
<TestProjectType>UnitTest</TestProjectType>
6361
<NuGetPackageImportStamp />
6462
<TargetFrameworkProfile />
6563
</PropertyGroup>
66-
<Import Project="$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets" Condition="Exists('$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets')" />
6764
<Import Project="..\Telerik.JustMock.Tests\Telerik.JustMock.Tests.projitems" Label="Shared" />
6865
<Import Project="..\Telerik.JustMock.Tests.Base\Telerik.JustMock.Tests.Base.projitems" Label="Shared" />
69-
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild" />
7066
<ItemGroup>
7167
<ProjectReference Include="..\Telerik.JustMock.DemoLibSigned\Telerik.JustMock.DemoLibSigned.csproj" />
7268
<ProjectReference Include="..\Telerik.JustMock.DemoLib\Telerik.JustMock.DemoLib.csproj" />

Telerik.JustMock.Tests/DynamicFixture.cs

Lines changed: 29 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -149,8 +149,11 @@ public void ShouldArrangeNonPublicGetterViaDynaMock()
149149
{
150150
var mock = Mock.Create<TestBed>();
151151
dynamic wrapper = Mock.NonPublic.Wrap(mock);
152+
var acc = new TestBed.Accessor(mock);
153+
152154
Mock.NonPublic.Arrange<int>(wrapper.Value).Returns(123);
153-
Assert.Equal(123, new TestBed.Accessor(mock).Value);
155+
156+
Assert.Equal(123, acc.Value);
154157
}
155158

156159
[TestMethod, TestCategory("Lite"), TestCategory("NonPublic"), TestCategory("DynaMock")]
@@ -159,12 +162,14 @@ public void ShouldArrangeNonPublicSetterViaDynaMock()
159162
var mock = Mock.Create<TestBed>();
160163
dynamic wrapper = Mock.NonPublic.Wrap(mock);
161164
var acc = new TestBed.Accessor(mock);
165+
162166
Mock.NonPublic.Arrange(wrapper.Value = 123).MustBeCalled();
163167

164168
acc.Value = 100;
165169
Assert.Throws<AssertionException>(() => Mock.Assert(mock));
166170

167171
acc.Value = 123;
172+
168173
Mock.Assert(mock);
169174
}
170175

@@ -173,10 +178,13 @@ public void ShouldArrangeNonPublicSetterWithMatchersViaDynaMock()
173178
{
174179
var mock = Mock.Create<TestBed>();
175180
dynamic wrapper = Mock.NonPublic.Wrap(mock);
176-
Mock.NonPublic.Arrange(wrapper.Value = ArgExpr.IsAny<int>()).MustBeCalled();
181+
var acc = new TestBed.Accessor(mock);
177182

183+
Mock.NonPublic.Arrange(wrapper.Value = ArgExpr.IsAny<int>()).MustBeCalled();
178184
Assert.Throws<AssertionException>(() => Mock.Assert(mock));
179-
new TestBed.Accessor(mock).Value = 77;
185+
186+
acc.Value = 77;
187+
180188
Mock.Assert(mock);
181189
}
182190

@@ -185,9 +193,10 @@ public void ShouldArrangeNonPublicMethodViaDynaMock()
185193
{
186194
var mock = Mock.Create<TestBed>();
187195
dynamic wrapper = Mock.NonPublic.Wrap(mock);
196+
var acc = new TestBed.Accessor(mock);
197+
188198
Mock.NonPublic.Arrange<int>(wrapper.Get(10, "ss")).Returns(123);
189199

190-
var acc = new TestBed.Accessor(mock);
191200
Assert.Equal(0, acc.Get(20, "dd"));
192201
Assert.Equal(123, acc.Get(10, "ss"));
193202
}
@@ -197,9 +206,10 @@ public void ShouldArrangeNonPublicMethodWithMatchersViaDynaMock()
197206
{
198207
var mock = Mock.Create<TestBed>();
199208
dynamic wrapper = Mock.NonPublic.Wrap(mock);
209+
var acc = new TestBed.Accessor(mock);
210+
200211
Mock.NonPublic.Arrange<int>(wrapper.Get(ArgExpr.Matches<int>(x => x > 40), ArgExpr.IsAny<string>())).Returns(123);
201212

202-
var acc = new TestBed.Accessor(mock);
203213
Assert.Equal(0, acc.Get(20, "ss"));
204214
Assert.Equal(123, acc.Get(50, "dd"));
205215
}
@@ -209,10 +219,10 @@ public void ShouldArrangeNonPublicIndexerGetterViaDynaMock()
209219
{
210220
var mock = Mock.Create<TestBed>();
211221
dynamic wrapper = Mock.NonPublic.Wrap(mock);
222+
var acc = new TestBed.Accessor(mock);
212223

213224
Mock.NonPublic.Arrange<int>(wrapper["sss"]).Returns(123);
214225

215-
var acc = new TestBed.Accessor(mock);
216226
Assert.Equal(0, acc["ssd"]);
217227
Assert.Equal(123, acc["sss"]);
218228
}
@@ -235,6 +245,7 @@ public void ShouldArrangeNonPublicIndexerSetterViaDynaMock()
235245
Mock.Assert(mock);
236246
}
237247

248+
#if !NETCORE30
238249
[TestMethod, TestCategory("Lite"), TestCategory("NonPublic"), TestCategory("DynaMock")]
239250
public void ShouldArrangeNonPublicMemberRecursivelyViaDynaMock()
240251
{
@@ -252,39 +263,43 @@ public void ShouldArrangeNonPublicMemberRecursivelyViaDynaMock()
252263
public void ShouldAssertNonPublicMethodViaDynaMock()
253264
{
254265
var mock = Mock.Create<TestBed>();
255-
var wrapper = Mock.NonPublic.Wrap(mock);
266+
dynamic wrapper = Mock.NonPublic.Wrap(mock);
267+
var acc = new TestBed.Accessor(mock);
256268

257269
Assert.Throws<AssertionException>(() => Mock.NonPublic.Assert(wrapper.Value = 123, Occurs.Once()));
258270
Assert.Throws<AssertionException>(() => Mock.NonPublic.Assert(wrapper.Value = ArgExpr.IsAny<int>(), Occurs.Once()));
259-
new TestBed.Accessor(mock).Value = 123;
271+
272+
acc.Value = 123;
273+
260274
Mock.NonPublic.Assert(wrapper.Value = 123, Occurs.Once());
261275
Mock.NonPublic.Assert(wrapper.Value = ArgExpr.IsAny<int>(), Occurs.Once());
262276
}
277+
#endif
263278

264279
#if !COREFX
265280
[TestMethod, TestCategory("Lite"), TestCategory("NonPublic"), TestCategory("DynaMock")]
266281
public void ShouldArrangeNonPublicGenericMethodWithExplicitTypeArgumentsViaDynaMock()
267282
{
268283
var mock = Mock.Create<TestBed>();
269-
var wrapper = Mock.NonPublic.Wrap(mock);
284+
dynamic wrapper = Mock.NonPublic.Wrap(mock);
285+
var acc = new TestBed.Accessor(mock);
270286

271287
Mock.NonPublic.Arrange<int>(wrapper.Get<int>()).Returns(123);
272288

273-
var result = new TestBed.Accessor(mock).Get<int>();
274-
Assert.Equal(123, result);
289+
Assert.Equal(123, acc.Get<int>());
275290
}
276291
#endif
277292

278293
[TestMethod, TestCategory("Lite"), TestCategory("NonPublic"), TestCategory("DynaMock")]
279294
public void ShouldArrangeNonPublicGenericMethodViaDynaMock()
280295
{
281296
var mock = Mock.Create<TestBed>();
282-
var wrapper = Mock.NonPublic.Wrap(mock);
297+
dynamic wrapper = Mock.NonPublic.Wrap(mock);
298+
var acc = new TestBed.Accessor(mock);
283299

284300
Mock.NonPublic.Arrange<ICollection<int>>(wrapper.Digest(new[] { 123 })).Returns(new[] { 321 });
285301

286-
var result = new TestBed.Accessor(mock).Digest(new[] { 123 });
287-
Assert.Equal(321, result.First());
302+
Assert.Equal(321, acc.Digest(new[] { 123 }).First());
288303
}
289304
}
290305
}

Telerik.JustMock.XUnit.Tests/Telerik.JustMock.XUnit.Tests.csproj

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFrameworks>net452;netcoreapp2.0</TargetFrameworks>
3+
<TargetFrameworks>net452;netcoreapp2.0;netcoreapp3.0</TargetFrameworks>
44
<Configurations>Debug;Release;DebugFree;ReleaseFree</Configurations>
55
<AssemblyName>Telerik.JustMock.XUnit.Tests</AssemblyName>
66
<RootNamespace>Telerik.JustMock.Tests</RootNamespace>
@@ -44,7 +44,7 @@
4444
<WarningLevel>4</WarningLevel>
4545
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
4646
</PropertyGroup>
47-
<PropertyGroup Condition="'$(TargetFramework)' == 'netcoreapp2.0' ">
47+
<PropertyGroup Condition="'$(TargetFramework)' == 'netcoreapp2.0' Or '$(TargetFramework)' == 'netcoreapp3.0'">
4848
<DefineConstants>$(DefineConstants);NETCORE</DefineConstants>
4949
</PropertyGroup>
5050
<PropertyGroup>
@@ -55,15 +55,12 @@
5555
<AppDesignerFolder>Properties</AppDesignerFolder>
5656
<FileAlignment>512</FileAlignment>
5757
<ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
58-
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">15.0</VisualStudioVersion>
59-
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
6058
<ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages</ReferencePath>
6159
<IsCodedUITest>False</IsCodedUITest>
6260
<TestProjectType>UnitTest</TestProjectType>
6361
<NuGetPackageImportStamp />
6462
<TargetFrameworkProfile />
6563
</PropertyGroup>
66-
<Import Project="$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets" Condition="Exists('$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets')" />
6764
<Import Project="..\Telerik.JustMock.Tests\Telerik.JustMock.Tests.projitems" Label="Shared" />
6865
<Import Project="..\Telerik.JustMock.Tests.Base\Telerik.JustMock.Tests.Base.projitems" Label="Shared" />
6966
<ItemGroup>

Telerik.JustMock/Core/Behaviors/RecursiveMockingBehavior.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,12 @@ private bool MustReturnMock(Invocation invocation, bool checkPropertyOnTestFixtu
121121
#endif
122122
}
123123

124+
// mock invocations in static constructors according to the behavior
125+
if (invocation.InRunClassConstructor)
126+
{
127+
return invocation.InArrange && !invocation.CallOriginal;
128+
}
129+
124130
return invocation.InArrange && !invocation.InArrangeArgMatching || this.type == RecursiveMockingBehaviorType.ReturnMock;
125131
}
126132

Telerik.JustMock/Core/Invocation.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ internal bool IsReturnValueSet
6161
internal bool InArrange { get; set; }
6262
internal bool InArrangeArgMatching { get; set; }
6363
internal bool InAssertSet { get; set; }
64+
internal bool InRunClassConstructor { get; set; }
6465
internal bool Recording { get; set; }
6566
internal bool RetainBehaviorDuringRecording { get; set; }
6667

Telerik.JustMock/Core/MatcherTree/MethodInfoMatcherTreeNode.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public List<MethodMockMatcherTreeNode> GetAllMethodMocks(CallPattern callPattern
5353
{
5454
List<MethodMockMatcherTreeNode> results = new List<MethodMockMatcherTreeNode>();
5555
GetMethodMockInternal(callPattern, 0, results, MatchingOptions.Concretizing);
56-
return results.ToList();
56+
return results;
5757
}
5858

5959
public List<MethodMockMatcherTreeNode> GetMethodMock(CallPattern callPattern)

0 commit comments

Comments
 (0)