Skip to content

Commit 53952b0

Browse files
authored
Releases/2.6 (#83)
* Adding .NET Standard 2.0 target / Updating NetStandardPoyfills reference / Updating to v2.6 * Updating years * Adding UnitTests.Common project * Updating NuGet packages * Adding test project for .NET Standard 1.0 target / Fixing escape character translation in verbatim strings * Removing 'Interfaces' namespace * Adding v2.6 NuGet package * Adding v2.6 preview NuGet package
1 parent 10a02f6 commit 53952b0

File tree

119 files changed

+845
-855
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

119 files changed

+845
-855
lines changed

.gitignore

Lines changed: 200 additions & 204 deletions
Large diffs are not rendered by default.

CommonAssemblyInfo.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@
33

44
[assembly: AssemblyCompany("AgileObjects Ltd")]
55
[assembly: AssemblyProduct("AgileObjects.ReadableExpressions")]
6-
[assembly: AssemblyCopyright("Copyright © AgileObjects Ltd 2020")]
6+
[assembly: AssemblyCopyright("Copyright © AgileObjects Ltd 2021")]
77
[assembly: NeutralResourcesLanguage("en")]
Binary file not shown.
Binary file not shown.

ReadableExpressions.UnitTests/FluentAssertionExtensions.cs renamed to ReadableExpressions.UnitTests.Common/FluentAssertionExtensions.cs

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
1-
namespace AgileObjects.ReadableExpressions.UnitTests
1+
namespace AgileObjects.ReadableExpressions.UnitTests.Common
22
{
33
using System;
44
using System.Collections.Generic;
55
using System.Linq;
66
using System.Reflection;
77
using NetStandardPolyfills;
8-
using ReadableExpressions.Extensions;
98

109
public static class FluentAssertionExtensions
1110
{
@@ -391,14 +390,19 @@ public static IDictionary<TKey, TValue> ShouldContainKeyAndValue<TKey, TValue>(
391390
return dictionary;
392391
}
393392

394-
public static void ShouldBeOfType<TExpected>(this object actual)
393+
public static TExpected ShouldBeOfType<TExpected>(this object actual)
394+
where TExpected : class
395395
{
396-
if (!(actual is TExpected))
396+
var expected = actual as TExpected;
397+
398+
if (expected == null)
397399
{
398400
Asplode(
399-
"An object of type " + typeof(TExpected).GetFriendlyName(),
400-
actual.GetType().GetFriendlyName());
401+
"An object of type " + typeof(TExpected).Name,
402+
actual.GetType().Name);
401403
}
404+
405+
return expected;
402406
}
403407

404408
public static void ShouldContain<T>(this IList<T> actual, T expected)
@@ -428,4 +432,4 @@ public TestAsplodeException(string expected, string actual, string errorMessage)
428432
}
429433
}
430434
}
431-
}
435+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
namespace AgileObjects.ReadableExpressions.UnitTests.Common
2+
{
3+
public enum OddNumber
4+
{
5+
One = 1
6+
}
7+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<TargetFrameworks>net35;net461;netstandard1.3</TargetFrameworks>
5+
<LangVersion>8.0</LangVersion>
6+
<AssemblyName>AgileObjects.ReadableExpressions.UnitTests.Common</AssemblyName>
7+
<RootNamespace>AgileObjects.ReadableExpressions.UnitTests.Common</RootNamespace>
8+
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
9+
<WarningsAsErrors></WarningsAsErrors>
10+
<NoWarn>0649;1701;1702</NoWarn>
11+
<DebugType>full</DebugType>
12+
<AssemblyOriginatorKeyFile>..\ReadableExpressions.snk</AssemblyOriginatorKeyFile>
13+
<SignAssembly>true</SignAssembly>
14+
<IsPackable>false</IsPackable>
15+
</PropertyGroup>
16+
17+
<ItemGroup>
18+
<Compile Include="..\ClsCompliant.cs" Link="Properties\ClsCompliant.cs" />
19+
</ItemGroup>
20+
21+
<ItemGroup>
22+
<ProjectReference Include="..\ReadableExpressions\ReadableExpressions.csproj" />
23+
</ItemGroup>
24+
25+
</Project>
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
1-
namespace AgileObjects.ReadableExpressions.UnitTests
1+
namespace AgileObjects.ReadableExpressions.UnitTests.Common
22
{
33
using System;
44
#if NET35
55
using Microsoft.Scripting.Ast;
66
using Translations;
7-
using LinqExp = System.Linq.Expressions;
87
#else
98
using System.Linq.Expressions;
109
#endif
10+
#if NET35
11+
using LinqExp = System.Linq.Expressions;
12+
#endif
1113

1214
public abstract class TestClassBase
1315
{
@@ -21,7 +23,7 @@ protected static LambdaExpression CreateLambda<TArg>(LinqExp.Expression<Action<T
2123
protected static LambdaExpression CreateLambda<TArg1, TArg2>(LinqExp.Expression<Action<TArg1, TArg2>> linqLambda)
2224
=> LinqExpressionToDlrExpressionConverter.Convert(linqLambda);
2325

24-
internal static LambdaExpression CreateLambda<TReturn>(LinqExp.Expression<Func<TReturn>> linqLambda)
26+
public static LambdaExpression CreateLambda<TReturn>(LinqExp.Expression<Func<TReturn>> linqLambda)
2527
=> LinqExpressionToDlrExpressionConverter.Convert(linqLambda);
2628

2729
protected static LambdaExpression CreateLambda<TArg, TReturn>(LinqExp.Expression<Func<TArg, TReturn>> linqLambda)
@@ -32,26 +34,20 @@ protected static LambdaExpression CreateLambda<TArg1, TArg2, TReturn>(LinqExp.Ex
3234

3335
protected static LambdaExpression CreateLambda<TArg1, TArg2, TArg3, TReturn>(LinqExp.Expression<Func<TArg1, TArg2, TArg3, TReturn>> linqLambda)
3436
=> LinqExpressionToDlrExpressionConverter.Convert(linqLambda);
35-
36-
internal static string ToReadableString(Expression expression, Func<TranslationSettings, TranslationSettings> configuration = null)
37-
=> expression.ToReadableString(configuration);
3837
#else
3938
protected static LambdaExpression CreateLambda(Expression<Action> lambda) => lambda;
4039

4140
protected static LambdaExpression CreateLambda<TArg>(Expression<Action<TArg>> lambda) => lambda;
42-
41+
4342
protected static LambdaExpression CreateLambda<TArg1, TArg2>(Expression<Action<TArg1, TArg2>> lambda) => lambda;
4443

45-
internal static LambdaExpression CreateLambda<TReturn>(Expression<Func<TReturn>> lambda) => lambda;
44+
public static LambdaExpression CreateLambda<TReturn>(Expression<Func<TReturn>> lambda) => lambda;
4645

4746
protected static LambdaExpression CreateLambda<TArg, TReturn>(Expression<Func<TArg, TReturn>> lambda) => lambda;
4847

4948
protected static LambdaExpression CreateLambda<TArg1, TArg2, TReturn>(Expression<Func<TArg1, TArg2, TReturn>> lambda) => lambda;
5049

5150
protected static LambdaExpression CreateLambda<TArg1, TArg2, TArg3, TReturn>(Expression<Func<TArg1, TArg2, TArg3, TReturn>> lambda) => lambda;
52-
53-
internal static string ToReadableString(Expression expression, Func<TranslationSettings, TranslationSettings> configuration = null)
54-
=> expression.ToReadableString(configuration);
5551
#endif
5652
}
5753
}

ReadableExpressions.UnitTests.Net35/ReadableExpressions.UnitTests.Net35.csproj

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,14 +42,15 @@
4242
<ItemGroup>
4343
<Reference Include="System" />
4444
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
45-
<PackageReference Include="NUnit" Version="3.12.0" />
46-
<PackageReference Include="NUnit3TestAdapter" Version="3.16.1">
45+
<PackageReference Include="NUnit" Version="3.13.1" />
46+
<PackageReference Include="NUnit3TestAdapter" Version="3.17.0">
4747
<PrivateAssets>all</PrivateAssets>
4848
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
4949
</PackageReference>
5050
</ItemGroup>
5151

5252
<ItemGroup>
53+
<ProjectReference Include="..\ReadableExpressions.UnitTests.Common\ReadableExpressions.UnitTests.Common.csproj" />
5354
<ProjectReference Include="..\ReadableExpressions\ReadableExpressions.csproj" />
5455
</ItemGroup>
5556

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<TargetFramework>netcoreapp1.0</TargetFramework>
5+
<RuntimeFrameworkVersion>1.1.13</RuntimeFrameworkVersion>
6+
<LangVersion>8.0</LangVersion>
7+
<AssemblyName>AgileObjects.ReadableExpressions.UnitTests.NetCore</AssemblyName>
8+
<RootNamespace>AgileObjects.ReadableExpressions.UnitTests</RootNamespace>
9+
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
10+
<WarningsAsErrors></WarningsAsErrors>
11+
<NoWarn>0649;1701;1702</NoWarn>
12+
<GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
13+
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
14+
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
15+
<GenerateAssemblyTitleAttribute>false</GenerateAssemblyTitleAttribute>
16+
<IsPackable>false</IsPackable>
17+
</PropertyGroup>
18+
19+
<ItemGroup>
20+
<Compile Include="..\CommonAssemblyInfo.cs">
21+
<Link>Properties\CommonAssemblyInfo.cs</Link>
22+
</Compile>
23+
<Compile Include="..\ClsCompliant.cs">
24+
<Link>Properties\ClsCompliant.cs</Link>
25+
</Compile>
26+
</ItemGroup>
27+
28+
<ItemGroup>
29+
<Compile Include="..\ReadableExpressions.UnitTests\**\*.cs" Exclude="..\ReadableExpressions.UnitTests\obj\**\*.cs;">
30+
<Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
31+
</Compile>
32+
</ItemGroup>
33+
34+
<ItemGroup>
35+
<Compile Remove="..\ReadableExpressions.UnitTests\ShouldExtensions.cs" />
36+
</ItemGroup>
37+
38+
<ItemGroup>
39+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
40+
<PackageReference Include="System.Data.Common" Version="4.3.0" />
41+
<PackageReference Include="xunit" Version="2.4.1" />
42+
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.1">
43+
<PrivateAssets>all</PrivateAssets>
44+
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
45+
</PackageReference>
46+
</ItemGroup>
47+
48+
<ItemGroup>
49+
<ProjectReference Include="..\ReadableExpressions.UnitTests.Common\ReadableExpressions.UnitTests.Common.csproj" />
50+
<ProjectReference Include="..\ReadableExpressions\ReadableExpressions.csproj" />
51+
</ItemGroup>
52+
53+
</Project>

ReadableExpressions.UnitTests.NetCore3.1/ReadableExpressions.UnitTests.NetCore3.1.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,16 +36,16 @@
3636
</ItemGroup>
3737

3838
<ItemGroup>
39-
<PackageReference Include="AgileObjects.NetStandardPolyfills" Version="1.4.1" />
4039
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.6.1" />
4140
<PackageReference Include="xunit" Version="2.4.1" />
42-
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.1">
41+
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.3">
4342
<PrivateAssets>all</PrivateAssets>
4443
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
4544
</PackageReference>
4645
</ItemGroup>
4746

4847
<ItemGroup>
48+
<ProjectReference Include="..\ReadableExpressions.UnitTests.Common\ReadableExpressions.UnitTests.Common.csproj" />
4949
<ProjectReference Include="..\ReadableExpressions\ReadableExpressions.csproj" />
5050
</ItemGroup>
5151

ReadableExpressions.UnitTests/Extensions/WhenAccessingTypeInformation.cs

Lines changed: 0 additions & 45 deletions
This file was deleted.

ReadableExpressions.UnitTests/Extensions/WhenGeneratingVariableNames.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
namespace AgileObjects.ReadableExpressions.UnitTests.Extensions
22
{
33
using System.Collections.Generic;
4+
using Common;
45
using ReadableExpressions.Extensions;
56
#if !NET35
67
using Xunit;

ReadableExpressions.UnitTests/Extensions/WhenGettingAParentExpressionNode.cs

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
using System;
44
using System.Collections.Generic;
55
using System.Linq;
6+
using Common;
7+
using NetStandardPolyfills;
68
using ReadableExpressions.Extensions;
79
#if !NET35
810
using System.Linq.Expressions;
@@ -22,30 +24,27 @@ public void ShouldReturnAMemberAccessParent()
2224

2325
var namePropertyParent = personViewModelName.Body.GetParentOrNull() as ParameterExpression;
2426

25-
namePropertyParent.ShouldNotBeNull();
26-
namePropertyParent.Name.ShouldBe("t");
27+
namePropertyParent.ShouldNotBeNull().Name.ShouldBe("t");
2728
}
2829

2930
[Fact]
3031
public void ShouldReturnANestedMemberAccessParent()
3132
{
32-
var typeAssemblyImageVersion = CreateLambda((Type t) => t.Assembly.ImageRuntimeVersion);
33+
var typeNameLength = CreateLambda((Type t) => t.Name.Length);
3334

34-
var typeAssemblyImageVersionParent = typeAssemblyImageVersion.Body.GetParentOrNull() as MemberExpression;
35+
var typeNameLengthParent = typeNameLength.Body.GetParentOrNull() as MemberExpression;
3536

36-
typeAssemblyImageVersionParent.ShouldNotBeNull();
37-
typeAssemblyImageVersionParent.Member.Name.ShouldBe("Assembly");
37+
typeNameLengthParent.ShouldNotBeNull().Member.Name.ShouldBe("Name");
3838
}
3939

4040
[Fact]
4141
public void ShouldReturnAMemberMethodCallParent()
4242
{
43-
var typeAssemblyToString = CreateLambda((Type t) => t.Assembly.ToString());
43+
var typeNameSubstring = CreateLambda((Type t) => t.Name.Substring(0, 3));
4444

45-
var assemblyToStringPropertyParent = typeAssemblyToString.Body.GetParentOrNull() as MemberExpression;
45+
var typeNameSubstringParent = typeNameSubstring.Body.GetParentOrNull() as MemberExpression;
4646

47-
assemblyToStringPropertyParent.ShouldNotBeNull();
48-
assemblyToStringPropertyParent.Member.Name.ShouldBe("Assembly");
47+
typeNameSubstringParent.ShouldNotBeNull().Member.Name.ShouldBe("Name");
4948
}
5049

5150
[Fact]

0 commit comments

Comments
 (0)