Skip to content

Commit

Permalink
Support Int32 values
Browse files Browse the repository at this point in the history
  • Loading branch information
pmosk committed Sep 1, 2023
1 parent 7c66187 commit 7ace58c
Show file tree
Hide file tree
Showing 8 changed files with 145 additions and 8 deletions.
5 changes: 3 additions & 2 deletions src/filter-value/Filter.Value.Test/Filter.Value.Test.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,12 @@

<PropertyGroup>
<TargetFrameworks>net6.0;net7.0</TargetFrameworks>
<IsTestProject>true</IsTestProject>
<IsPackable>false</IsPackable>
<ImplicitUsings>disable</ImplicitUsings>
<Nullable>enable</Nullable>
<InvariantGlobalization>true</InvariantGlobalization>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<IsPackable>false</IsPackable>
<RootNamespace>GarageGroup.Infra.Dataverse.Api.Filter.Value.Test</RootNamespace>
<AssemblyName>GarageGroup.Infra.Dataverse.Api.Filter.Value.Test</AssemblyName>
</PropertyGroup>
Expand All @@ -16,7 +17,7 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.6.3" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.7.2" />
<PackageReference Include="PrimeFuncPack.UnitTest.Data" Version="3.0.0" />
<PackageReference Include="xunit" Version="2.5.0" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.5.0">
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
using PrimeFuncPack.UnitTest;
using Xunit;

namespace GarageGroup.Infra.Dataverse.Api.Filter.Value.Test;

partial class DataverseFilterValueTest
{
[Theory]
[InlineData(null, "null")]
[InlineData(TestData.Zero, "0")]
[InlineData(TestData.MinusFifteen, "-15")]
[InlineData(TestData.PlusFifteen, "15")]
public static void FromNullableInt32Constructor_ExpectActualValueIsEqualToExpectedValue(
int? sourceValue, string expectedValue)
{
var actual = new DataverseFilterValue(sourceValue);
var actualValue = actual.Value;

Assert.Equal(expectedValue, actualValue);
}

[Theory]
[InlineData(null, "null")]
[InlineData(TestData.Zero, "0")]
[InlineData(TestData.MinusOne, "-1")]
[InlineData(TestData.PlusFifteen, "15")]
public static void FromNullableInt32_ExpectActualValueIsEqualToExpectedValue(
int? sourceValue, string expectedValue)
{
var actual = DataverseFilterValue.FromNullableInt32(sourceValue);
var actualValue = actual.Value;

Assert.Equal(expectedValue, actualValue);
}

[Theory]
[InlineData(null, "null")]
[InlineData(TestData.Zero, "0")]
[InlineData(TestData.MinusFifteen, "-15")]
[InlineData(TestData.One, "1")]
public static void FromNullableInt32Implicit_ExpectActualValueIsEqualToExpectedValue(
int? sourceValue, string expectedValue)
{
DataverseFilterValue actual = sourceValue;
var actualValue = actual.Value;

Assert.Equal(expectedValue, actualValue);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
using PrimeFuncPack.UnitTest;
using Xunit;

namespace GarageGroup.Infra.Dataverse.Api.Filter.Value.Test;

partial class DataverseFilterValueTest
{
[Theory]
[InlineData(TestData.Zero, "0")]
[InlineData(TestData.MinusOne, "-1")]
[InlineData(TestData.PlusFifteen, "15")]
public static void FromInt32Constructor_ExpectActualValueIsEqualToExpectedValue(
int sourceValue, string expectedValue)
{
var actual = new DataverseFilterValue(sourceValue);
var actualValue = actual.Value;

Assert.Equal(expectedValue, actualValue);
}

[Theory]
[InlineData(TestData.Zero, "0")]
[InlineData(TestData.MinusFifteen, "-15")]
[InlineData(TestData.One, "1")]
public static void FromInt32_ExpectActualValueIsEqualToExpectedValue(
int sourceValue, string expectedValue)
{
var actual = DataverseFilterValue.FromInt32(sourceValue);
var actualValue = actual.Value;

Assert.Equal(expectedValue, actualValue);
}

[Theory]
[InlineData(TestData.Zero, "0")]
[InlineData(TestData.MinusFifteen, "-15")]
[InlineData(TestData.PlusFifteen, "15")]
public static void FromInt32Implicit_ExpectActualValueIsEqualToExpectedValue(
int sourceValue, string expectedValue)
{
DataverseFilterValue actual = sourceValue;
var actualValue = actual.Value;

Assert.Equal(expectedValue, actualValue);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
namespace GarageGroup.Infra;

partial class DataverseFilterValue
{
public DataverseFilterValue(int? value)
=>
Value = InnerBuildValue(value);

public static DataverseFilterValue FromNullableInt32(int? value)
=>
new(value);

public static implicit operator DataverseFilterValue(int? value)
=>
new(value);

private static string InnerBuildValue(int? source)
=>
source is null ? NullValue : InnerBuildValue(source.Value);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
namespace GarageGroup.Infra;

partial class DataverseFilterValue
{
public DataverseFilterValue(int value)
=>
Value = InnerBuildValue(value);

public static DataverseFilterValue FromInt32(int value)
=>
new(value);

public static implicit operator DataverseFilterValue(int value)
=>
new(value);

private static string InnerBuildValue(int source)
=>
source.ToString();
}
2 changes: 1 addition & 1 deletion src/filter-value/Filter.Value/Filter.Value.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<RootNamespace>GarageGroup.Infra</RootNamespace>
<AssemblyName>GarageGroup.Infra.Dataverse.Api.Filter.Value</AssemblyName>
<Version>0.0.3</Version>
<Version>0.1.0</Version>
</PropertyGroup>

</Project>
5 changes: 3 additions & 2 deletions src/filter/Filter.Test/Filter.Test.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,12 @@

<PropertyGroup>
<TargetFrameworks>net6.0;net7.0</TargetFrameworks>
<IsTestProject>true</IsTestProject>
<IsPackable>false</IsPackable>
<ImplicitUsings>disable</ImplicitUsings>
<Nullable>enable</Nullable>
<InvariantGlobalization>true</InvariantGlobalization>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<IsPackable>false</IsPackable>
<RootNamespace>GarageGroup.Infra.Dataverse.Api.Filter.Test</RootNamespace>
<AssemblyName>GarageGroup.Infra.Dataverse.Api.Filter.Test</AssemblyName>
</PropertyGroup>
Expand All @@ -16,7 +17,7 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.6.3" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.7.2" />
<PackageReference Include="PrimeFuncPack.UnitTest.Data" Version="3.0.0" />
<PackageReference Include="xunit" Version="2.5.0" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.5.0">
Expand Down
6 changes: 3 additions & 3 deletions src/filter/Filter/Filter.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<RootNamespace>GarageGroup.Infra</RootNamespace>
<AssemblyName>GarageGroup.Infra.Dataverse.Api.Filter</AssemblyName>
<Version>0.0.3</Version>
<Version>0.1.0-preview.1</Version>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="GarageGroup.Infra.Dataverse.Api.Filter.Value" Version="0.0.3" />
<PackageReference Include="PrimeFuncPack.Core.FlatArray" Version="1.1.0" />
<PackageReference Include="GarageGroup.Infra.Dataverse.Api.Filter.Value" Version="0.1.0" />
<PackageReference Include="PrimeFuncPack.Core.FlatArray" Version="1.2.0-rc.3" />
</ItemGroup>

</Project>

0 comments on commit 7ace58c

Please sign in to comment.