Skip to content
This repository was archived by the owner on Aug 13, 2020. It is now read-only.

Commit 825064d

Browse files
committed
Merge branch 'master' of https://github.com/ploeh/Numsense
# Conflicts: # Numsense.UnitTests.CSharp/NumeralConverterProperties.cs # Numsense.UnitTests.CSharp/NumeralTests.cs # Numsense.UnitTests/NumeralProperties.fs # Numsense.UnitTests/Numsense.UnitTests.fsproj # Numsense/Numeral.fs # Numsense/Numsense.fsproj # Numsense/ObjectOriented.fs
2 parents 11b0ed5 + 623a886 commit 825064d

30 files changed

+1774
-44
lines changed

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,12 @@ AppPackages/
8787

8888
# Backup & report files from converting an old project file to a newer
8989
# Visual Studio version. Backup files are not needed, because we have git ;-)
90-
_UpgradeReport_Files/
90+
_Upgr/
9191
Backup*/
9292
UpgradeLog*.XML
9393

94+
# FAKE hidden directory
95+
.fake/
96+
9497
# Generated .nupkg file in root directory
9598
Numsense.*.nupkg
File renamed without changes.

Numsense.UnitTests.CSharp/NumeralConverterProperties.cs

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,16 @@ public void ToNumeralReturnsCorrectResult(
2222
[ConverterProperty]
2323
public void TryParseProperNumeralReturnsCorrectResult(
2424
ConverterPropertyGroup p,
25-
int expected)
25+
int i)
2626
{
27-
var numeral = p.ToNumeralImp.Invoke(expected);
27+
var numeral = p.ToNumeralImp.Invoke(i);
28+
2829
int actual;
2930
var success = p.Sut.TryParse(numeral, out actual);
3031

32+
var expected = p.TryParseImp.Invoke(numeral);
3133
Assert.True(success);
32-
Assert.Equal(expected, actual);
34+
Assert.Equal(expected, FSharpOption<int>.Some(actual));
3335
}
3436

3537
[ConverterProperty]
@@ -77,7 +79,23 @@ public static Arbitrary<ConverterPropertyGroup> Converter()
7779
new ConverterPropertyGroup(
7880
new FarsiNumeralConverter(),
7981
NumeralModule.toFarsi,
80-
NumeralModule.tryParseFarsi)
82+
NumeralModule.tryParseFarsi),
83+
new ConverterPropertyGroup(
84+
new PolishNumeralConverter(),
85+
NumeralModule.toPolish,
86+
NumeralModule.tryParsePolish),
87+
new ConverterPropertyGroup(
88+
new DutchNumeralConverter(),
89+
NumeralModule.toDutch,
90+
NumeralModule.tryParseDutch),
91+
new ConverterPropertyGroup(
92+
new RussianNumeralConverter(),
93+
NumeralModule.toRussian,
94+
NumeralModule.tryParseRussian),
95+
new ConverterPropertyGroup(
96+
new CatalanNumeralConverter(),
97+
NumeralModule.toCatalan,
98+
NumeralModule.tryParseCatalan)
8199
)
82100
.ToArbitrary();
83101
}

Numsense.UnitTests.CSharp/NumeralTests.cs

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,65 @@ public void FarsiIsSingleton()
4747
{
4848
var expected = Numeral.Farsi;
4949
var actual = Numeral.Farsi;
50+
Assert.Same(expected, actual);
51+
}
52+
53+
public void PolishIsCorrect()
54+
{
55+
var actual = Numeral.Polish;
56+
Assert.IsAssignableFrom<PolishNumeralConverter>(actual);
57+
}
58+
59+
[Fact]
60+
public void PolishIsSingleton()
61+
{
62+
var expected = Numeral.Polish;
63+
var actual = Numeral.Polish;
64+
Assert.Same(expected, actual);
65+
}
66+
67+
[Fact]
68+
public void DutchIsCorrect()
69+
{
70+
var actual = Numeral.Dutch;
71+
Assert.IsAssignableFrom<DutchNumeralConverter>(actual);
72+
}
73+
74+
[Fact]
75+
public void DutchIsSingleton()
76+
{
77+
var expected = Numeral.Dutch;
78+
var actual = Numeral.Dutch;
79+
Assert.Same(expected, actual);
80+
}
81+
82+
[Fact]
83+
public void RussianIsCorrect()
84+
{
85+
var actual = Numeral.Russian;
86+
Assert.IsAssignableFrom<RussianNumeralConverter>(actual);
87+
}
88+
89+
[Fact]
90+
public void RussianIsSingleton()
91+
{
92+
var expected = Numeral.Russian;
93+
var actual = Numeral.Russian;
94+
Assert.Same(expected, actual);
95+
}
96+
97+
[Fact]
98+
public void CatalanIsCorrect()
99+
{
100+
var actual = Numeral.Catalan;
101+
Assert.IsAssignableFrom<CatalanNumeralConverter>(actual);
102+
}
103+
104+
[Fact]
105+
public void CatalanIsSingleton()
106+
{
107+
var expected = Numeral.Catalan;
108+
var actual = Numeral.Catalan;
50109
Assert.Same(expected, actual);
51110
}
52111
}

Numsense.UnitTests.CSharp/Numsense.UnitTests.CSharp.csproj

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@
99
<AppDesignerFolder>Properties</AppDesignerFolder>
1010
<RootNamespace>Ploeh.Numsense.UnitTests</RootNamespace>
1111
<AssemblyName>Ploeh.Numsense.UnitTests.CSharp</AssemblyName>
12-
<TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
12+
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
1313
<FileAlignment>512</FileAlignment>
14+
<TargetFrameworkProfile />
1415
</PropertyGroup>
1516
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
1617
<DebugSymbols>true</DebugSymbols>
@@ -74,7 +75,9 @@
7475
<Compile Include="Properties\AssemblyInfo.cs" />
7576
</ItemGroup>
7677
<ItemGroup>
77-
<None Include="app.config" />
78+
<None Include="app.config">
79+
<SubType>Designer</SubType>
80+
</None>
7881
<None Include="packages.config" />
7982
</ItemGroup>
8083
<ItemGroup>

Numsense.UnitTests.CSharp/Properties/AssemblyInfo.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,5 @@
3232
// You can specify all the values or you can default the Build and Revision Numbers
3333
// by using the '*' as shown below:
3434
// [assembly: AssemblyVersion("1.0.*")]
35-
[assembly: AssemblyVersion("0.1.0.0")]
36-
[assembly: AssemblyFileVersion("0.1.0.0")]
35+
[assembly: AssemblyVersion("0.5.0.0")]
36+
[assembly: AssemblyFileVersion("0.5.0.0")]

Numsense.UnitTests.CSharp/app.config

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,12 @@
33
<runtime>
44
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
55
<dependentAssembly>
6-
<assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
7-
<bindingRedirect oldVersion="0.0.0.0-4.4.0.0" newVersion="4.4.0.0" />
6+
<assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
7+
<bindingRedirect oldVersion="0.0.0.0-4.4.0.0" newVersion="4.4.0.0"/>
88
</dependentAssembly>
99
</assemblyBinding>
1010
</runtime>
11-
</configuration>
11+
<startup>
12+
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
13+
</startup>
14+
</configuration>
Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<packages>
3-
<package id="FsCheck" version="2.2.4" targetFramework="net46" />
4-
<package id="FsCheck.Xunit" version="2.2.4" targetFramework="net46" />
5-
<package id="FSharp.Core" version="4.0.0.1" targetFramework="net46" />
6-
<package id="xunit" version="2.1.0" targetFramework="net46" />
7-
<package id="xunit.abstractions" version="2.0.0" targetFramework="net46" />
8-
<package id="xunit.assert" version="2.1.0" targetFramework="net46" />
9-
<package id="xunit.core" version="2.1.0" targetFramework="net46" />
10-
<package id="xunit.extensibility.core" version="2.1.0" targetFramework="net46" />
11-
<package id="xunit.extensibility.execution" version="2.1.0" targetFramework="net46" />
3+
<package id="FsCheck" version="2.2.4" targetFramework="net45" />
4+
<package id="FsCheck.Xunit" version="2.2.4" targetFramework="net45" />
5+
<package id="FSharp.Core" version="4.0.0.1" targetFramework="net45" />
6+
<package id="xunit" version="2.1.0" targetFramework="net45" />
7+
<package id="xunit.abstractions" version="2.0.0" targetFramework="net45" />
8+
<package id="xunit.core" version="2.1.0" targetFramework="net45" />
9+
<package id="xunit.extensibility.core" version="2.1.0" targetFramework="net45" />
10+
<package id="xunit.extensibility.execution" version="2.1.0" targetFramework="net45" />
1211
</packages>

Numsense.UnitTests/AssemblyInfo.fs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ open System.Runtime.InteropServices
3434
// You can specify all the values or you can default the Build and Revision Numbers
3535
// by using the '*' as shown below:
3636
// [<assembly: AssemblyVersion("1.0.*")>]
37-
[<assembly: AssemblyVersion("0.1.0.0")>]
38-
[<assembly: AssemblyFileVersion("0.1.0.0")>]
37+
[<assembly: AssemblyVersion("0.5.0.0")>]
38+
[<assembly: AssemblyFileVersion("0.5.0.0")>]
3939

4040
do
41-
()
41+
()

0 commit comments

Comments
 (0)