Skip to content

Commit 03d1217

Browse files
authored
Bump version 0.5.2 (#117)
* Remove generic new constraint * bump to version 0.5.2
1 parent 188bdd0 commit 03d1217

File tree

5 files changed

+55
-11
lines changed

5 files changed

+55
-11
lines changed

CommandLineParser/CommandLineParser.csproj

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<TargetFramework>netstandard2.0</TargetFramework>
55
<RootNamespace>MatthiWare.CommandLine</RootNamespace>
66
<PackageId>MatthiWare.CommandLineParser</PackageId>
7-
<Version>0.5.1</Version>
7+
<Version>0.5.2</Version>
88
<Authors>Matthias Beerens</Authors>
99
<Company>MatthiWare</Company>
1010
<Product>Command Line Parser</Product>
@@ -14,11 +14,12 @@
1414
<RepositoryUrl>https://github.com/MatthiWare/CommandLineParser.Core</RepositoryUrl>
1515
<PackageTags>Commandline parser commandline-parser cli</PackageTags>
1616
<LangVersion>7.3</LangVersion>
17-
<AssemblyVersion>0.5.1.0</AssemblyVersion>
18-
<FileVersion>0.5.1.0</FileVersion>
17+
<AssemblyVersion>0.5.2.0</AssemblyVersion>
18+
<FileVersion>0.5.2.0</FileVersion>
1919
<PackageLicenseFile>LICENSE</PackageLicenseFile>
2020
<PackageReleaseNotes>- Fix incorrect error message</PackageReleaseNotes>
2121
<Copyright>Copyright Matthias Beerens 2018</Copyright>
22+
<RepositoryType>git</RepositoryType>
2223
</PropertyGroup>
2324

2425
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

Extensions/FluentValidationsExtensions/Core/FluentValidationConfiguration.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public FluentValidationConfiguration AddValidator(Type key, Type validator)
5050
/// <typeparam name="V">Validator type</typeparam>
5151
/// <returns>Self</returns>
5252
public FluentValidationConfiguration AddValidator<K, V>()
53-
where V : AbstractValidator<K>, new()
53+
where V : AbstractValidator<K>
5454
{
5555
GetValidatorCollection(typeof(K)).AddValidator<V>();
5656

@@ -65,7 +65,7 @@ public FluentValidationConfiguration AddValidator<K, V>()
6565
/// <param name="instance">Instance</param>
6666
/// <returns>Self</returns>
6767
public FluentValidationConfiguration AddValidatorInstance<K, V>(V instance)
68-
where V : AbstractValidator<K>, new()
68+
where V : AbstractValidator<K>
6969
{
7070
if (instance is null)
7171
{

Extensions/FluentValidationsExtensions/FluentValidationsExtensions.csproj

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,23 @@
44
<TargetFramework>netstandard2.0</TargetFramework>
55
<RootNamespace>MatthiWare.CommandLine.Extensions.FluentValidations</RootNamespace>
66
<AssemblyName>CommandLineParser.FluentValidations</AssemblyName>
7-
<Version>0.5.1</Version>
7+
<Version>0.5.2</Version>
88
<Authors>Matthias Beerens</Authors>
99
<Company>MatthiWare</Company>
10-
<Product>FluentValidations Extension For CommandLineParser.Core</Product>
11-
<Description>FluentValidations extension for CommandLineParser.Core</Description>
10+
<Product>FluentValidations Extension For MatthiWare.CommandLineParser</Product>
11+
<Description>FluentValidations extension for MatthiWare.CommandLineParser</Description>
1212
<PackageProjectUrl>https://github.com/MatthiWare/CommandLineParser.Core</PackageProjectUrl>
1313
<PackageLicenseUrl></PackageLicenseUrl>
1414
<RepositoryUrl>https://github.com/MatthiWare/CommandLineParser.Core</RepositoryUrl>
1515
<PackageTags>Commandline parser commandline-parser cli fluent-validations extension</PackageTags>
1616
<LangVersion>7.3</LangVersion>
17-
<AssemblyVersion>0.5.1.0</AssemblyVersion>
18-
<FileVersion>0.5.1.0</FileVersion>
17+
<AssemblyVersion>0.5.2.0</AssemblyVersion>
18+
<FileVersion>0.5.2.0</FileVersion>
1919
<PackageLicenseFile>LICENSE</PackageLicenseFile>
20-
<PackageReleaseNotes>- Update dependencies</PackageReleaseNotes>
20+
<PackageReleaseNotes>- Remove generic new constraint</PackageReleaseNotes>
2121
<Copyright>Copyright Matthias Beerens 2019</Copyright>
22+
<PackageId>MatthiWare.CommandLineParser.Extensions.FluentValidations</PackageId>
23+
<RepositoryType>git</RepositoryType>
2224
</PropertyGroup>
2325

2426
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

Extensions/Tests/FluentValidationsExtensions.Tests/FluentValidationsTests.cs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
using MatthiWare.CommandLine.Extensions.FluentValidations;
66
using MatthiWare.CommandLine.Extensions.FluentValidations.Core;
77
using MatthiWare.CommandLine.Tests;
8+
using Microsoft.Extensions.DependencyInjection;
9+
using Moq;
810
using Xunit;
911
using Xunit.Abstractions;
1012

@@ -82,6 +84,27 @@ public void SubCommandShouldFailIfValidationFailsForModel(bool useGeneric, bool
8284
Assert.True(result.AssertNoErrors(false));
8385
}
8486

87+
[Fact]
88+
public void GenericAddValidatorWithDependencyShouldWork()
89+
{
90+
var dependencyMock = new Mock<IValidationDependency>();
91+
dependencyMock.Setup(_ => _.IsValid(It.IsAny<string>())).Returns(true).Verifiable();
92+
93+
Services.AddSingleton(dependencyMock.Object);
94+
95+
var parser = new CommandLineParser<EmailModel>(Services);
96+
97+
parser.UseFluentValidations(config =>
98+
{
99+
config.AddValidator<EmailModel, ValidatorWithDependency>();
100+
});
101+
102+
var result = parser.Parse(new string[] { "-e", "[email protected]", "-i", "0" });
103+
104+
result.AssertNoErrors();
105+
dependencyMock.Verify();
106+
}
107+
85108
private void OnConfigureFluentValidations(FluentValidationConfiguration config, bool useGeneric, bool useInstantiated)
86109
{
87110
if (useGeneric)
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
using FluentValidation;
2+
using FluentValidationsExtensions.Tests.Models;
3+
4+
namespace FluentValidationsExtensions.Tests.Validators
5+
{
6+
public class ValidatorWithDependency : AbstractValidator<EmailModel>
7+
{
8+
public ValidatorWithDependency(IValidationDependency dependency)
9+
{
10+
RuleFor(_ => _.Email).Must(dependency.IsValid);
11+
}
12+
}
13+
14+
public interface IValidationDependency
15+
{
16+
bool IsValid(string input);
17+
}
18+
}

0 commit comments

Comments
 (0)