Skip to content

Commit ac54189

Browse files
authored
Merge pull request #27 from pfpack/release/v2.0.0-rc.2.0.0
release/v2.0.0-rc.2.0.0
2 parents 6a48b03 + 402ece7 commit ac54189

File tree

15 files changed

+111
-9
lines changed

15 files changed

+111
-9
lines changed

src/primitives-linq/Primitives.Linq/Primitives.Linq.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<Description>PrimeFuncPack Primitives.Linq is a core library for .NET consisting of useful extensions making work with Linq easier.</Description>
1818
<RootNamespace>System</RootNamespace>
1919
<AssemblyName>PrimeFuncPack.Primitives.Linq</AssemblyName>
20-
<Version>2.0.0-rc.1.0.1</Version>
20+
<Version>2.0.0-rc.1.0.2</Version>
2121
</PropertyGroup>
2222

2323
<ItemGroup>

src/primitives-pipeline/Primitives.Pipeline/Primitives.Pipeline.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<Description>PrimeFuncPack Primitives.Pipeline is a core library for .NET consisting of useful extensions making work with functional pipelines easier.</Description>
1818
<RootNamespace>System</RootNamespace>
1919
<AssemblyName>PrimeFuncPack.Primitives.Pipeline</AssemblyName>
20-
<Version>2.0.0-rc.1.0.1</Version>
20+
<Version>2.0.0-rc.1.0.2</Version>
2121
</PropertyGroup>
2222

2323
<ItemGroup>

src/primitives-predicates/Primitives.Predicates/Primitives.Predicates.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<Description>PrimeFuncPack Primitives.Predicates is a core library for .NET consisting of useful extensions and predicates making work with the nullable feature easier.</Description>
1818
<RootNamespace>System</RootNamespace>
1919
<AssemblyName>PrimeFuncPack.Primitives.Predicates</AssemblyName>
20-
<Version>2.0.0-rc.1.0.1</Version>
20+
<Version>2.0.0-rc.1.0.2</Version>
2121
</PropertyGroup>
2222

2323
<ItemGroup>
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
using NUnit.Framework;
2+
using System;
3+
using System.Collections.Generic;
4+
using System.Linq;
5+
using System.Reflection;
6+
7+
namespace PrimeFuncPack.Primitives.Tests;
8+
9+
partial class StringExtensionsTests
10+
{
11+
[Test]
12+
public void ToStringOrEmpty_ExpectIsObsoleteWithError()
13+
{
14+
const string expectedObsoleteMessage = "This method is obsolete. Consider to call obj?.ToString().OrEmpty() instead.";
15+
16+
IReadOnlyCollection<MethodInfo> methods = typeof(StringExtensions)
17+
.GetMethods(BindingFlags.Public | BindingFlags.Static)
18+
.Where(method => method.Name == nameof(StringExtensions.ToStringOrEmpty))
19+
.ToArray();
20+
21+
Assert.AreEqual(2, methods.Count);
22+
23+
Assert.IsTrue(
24+
methods.All(
25+
method => method.CustomAttributes.Any(
26+
attr
27+
=>
28+
attr.AttributeType == typeof(ObsoleteAttribute) &&
29+
attr.ConstructorArguments.Count == 2 &&
30+
attr.ConstructorArguments[0].ArgumentType == typeof(string) &&
31+
attr.ConstructorArguments[0].Value is expectedObsoleteMessage &&
32+
attr.ConstructorArguments[1].ArgumentType == typeof(bool) &&
33+
attr.ConstructorArguments[1].Value is true)));
34+
}
35+
}

src/primitives-strings/Primitives.Strings.Tests/StringExtensions.Tests/ToStringOrEmpty_Ref.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ namespace PrimeFuncPack.Primitives.Tests;
66

77
partial class StringExtensionsTests
88
{
9+
[Obsolete]
910
[Test]
1011
public void ToStringOrEmpty_Ref_SourceIsNull_ExpectEmpty()
1112
{
@@ -15,6 +16,7 @@ public void ToStringOrEmpty_Ref_SourceIsNull_ExpectEmpty()
1516
Assert.IsEmpty(actual);
1617
}
1718

19+
[Obsolete]
1820
[Test]
1921
public void ToStringOrEmpty_Ref_SourceToStringIsNull_ExpectEmpty()
2022
{
@@ -24,6 +26,7 @@ public void ToStringOrEmpty_Ref_SourceToStringIsNull_ExpectEmpty()
2426
Assert.IsEmpty(actual);
2527
}
2628

29+
[Obsolete]
2730
[Test]
2831
[TestCase(EmptyString)]
2932
[TestCase(WhiteSpaceString)]

src/primitives-strings/Primitives.Strings.Tests/StringExtensions.Tests/ToStringOrEmpty_StructNullable.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ namespace PrimeFuncPack.Primitives.Tests;
66

77
partial class StringExtensionsTests
88
{
9+
[Obsolete]
910
[Test]
1011
public void ToStringOrEmpty_StructNullable_SourceIsNull_ExpectEmpty()
1112
{
@@ -15,6 +16,7 @@ public void ToStringOrEmpty_StructNullable_SourceIsNull_ExpectEmpty()
1516
Assert.IsEmpty(actual);
1617
}
1718

19+
[Obsolete]
1820
[Test]
1921
public void ToStringOrEmpty_StructNullable_SourceToStringIsNull_ExpectEmpty()
2022
{
@@ -24,6 +26,7 @@ public void ToStringOrEmpty_StructNullable_SourceToStringIsNull_ExpectEmpty()
2426
Assert.IsEmpty(actual);
2527
}
2628

29+
[Obsolete]
2730
[Test]
2831
[TestCase(EmptyString)]
2932
[TestCase(WhiteSpaceString)]
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
using NUnit.Framework;
2+
using System;
3+
using System.Collections.Generic;
4+
using System.Linq;
5+
using System.Reflection;
6+
7+
namespace PrimeFuncPack.Primitives.Tests;
8+
9+
partial class StringsTests
10+
{
11+
[Test]
12+
public void ToStringOrEmpty_ExpectIsObsoleteWithError()
13+
{
14+
const string expectedObsoleteMessage = "This method is obsolete. Consider to call obj?.ToString().OrEmpty() instead.";
15+
16+
IReadOnlyCollection<MethodInfo> methods = typeof(Strings)
17+
.GetMethods(BindingFlags.Public | BindingFlags.Static)
18+
.Where(method => method.Name == nameof(Strings.ToStringOrEmpty))
19+
.ToArray();
20+
21+
Assert.AreEqual(2, methods.Count);
22+
23+
Assert.IsTrue(
24+
methods.All(
25+
method => method.CustomAttributes.Any(
26+
attr
27+
=>
28+
attr.AttributeType == typeof(ObsoleteAttribute) &&
29+
attr.ConstructorArguments.Count == 2 &&
30+
attr.ConstructorArguments[0].ArgumentType == typeof(string) &&
31+
attr.ConstructorArguments[0].Value is expectedObsoleteMessage &&
32+
attr.ConstructorArguments[1].ArgumentType == typeof(bool) &&
33+
attr.ConstructorArguments[1].Value is true)));
34+
}
35+
}

src/primitives-strings/Primitives.Strings.Tests/Strings.Tests/ToStringOrEmpty_Ref.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ namespace PrimeFuncPack.Primitives.Tests;
66

77
partial class StringsTests
88
{
9+
[Obsolete]
910
[Test]
1011
public void ToStringOrEmpty_Ref_SourceIsNull_ExpectEmpty()
1112
{
@@ -15,6 +16,7 @@ public void ToStringOrEmpty_Ref_SourceIsNull_ExpectEmpty()
1516
Assert.IsEmpty(actual);
1617
}
1718

19+
[Obsolete]
1820
[Test]
1921
public void ToStringOrEmpty_Ref_SourceToStringIsNull_ExpectEmpty()
2022
{
@@ -24,6 +26,7 @@ public void ToStringOrEmpty_Ref_SourceToStringIsNull_ExpectEmpty()
2426
Assert.IsEmpty(actual);
2527
}
2628

29+
[Obsolete]
2730
[Test]
2831
[TestCase(EmptyString)]
2932
[TestCase(WhiteSpaceString)]

src/primitives-strings/Primitives.Strings.Tests/Strings.Tests/ToStringOrEmpty_StructNullable.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ namespace PrimeFuncPack.Primitives.Tests;
66

77
partial class StringsTests
88
{
9+
[Obsolete]
910
[Test]
1011
public void ToStringOrEmpty_StructNullable_SourceIsNull_ExpectEmpty()
1112
{
@@ -15,6 +16,7 @@ public void ToStringOrEmpty_StructNullable_SourceIsNull_ExpectEmpty()
1516
Assert.IsEmpty(actual);
1617
}
1718

19+
[Obsolete]
1820
[Test]
1921
public void ToStringOrEmpty_StructNullable_SourceToStringIsNull_ExpectEmpty()
2022
{
@@ -24,6 +26,7 @@ public void ToStringOrEmpty_StructNullable_SourceToStringIsNull_ExpectEmpty()
2426
Assert.IsEmpty(actual);
2527
}
2628

29+
[Obsolete]
2730
[Test]
2831
[TestCase(EmptyString)]
2932
[TestCase(WhiteSpaceString)]
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
namespace System;
2+
3+
internal static class InternalObsoleteErrors
4+
{
5+
public const bool ToStringOrEmpty = true;
6+
}

0 commit comments

Comments
 (0)