diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..d7a8fd9
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,13 @@
+[*.cs]
+
+# SA1101: Prefix local calls with this
+dotnet_diagnostic.SA1101.severity = none
+
+# SA1309: Field names should not begin with underscore
+dotnet_diagnostic.SA1309.severity = none
+
+# SA1623: Property summary documentation should match accessors
+dotnet_diagnostic.SA1623.severity = none
+
+# SA1642: Constructor summary documentation should begin with standard text
+dotnet_diagnostic.SA1642.severity = none
diff --git a/BankAccount/BankAccount.cs b/BankAccount/BankAccount.cs
index 0eda8f6..11b66c6 100644
--- a/BankAccount/BankAccount.cs
+++ b/BankAccount/BankAccount.cs
@@ -1,36 +1,17 @@
-using System;
+//
+// Copyright (c) Balázs Keresztury. All rights reserved.
+//
+
+using System;
using System.Collections.Generic;
namespace MagyarNemzetiBank
{
+ ///
+ /// Represents a single Hungarian Bank Account.
+ ///
public class BankAccount
{
- ///
- /// Bank Account Number in the format of 00000000-00000000 or 00000000-00000000-00000000 with or without the hyphens
- ///
- public string AccountNumber { get; set; }
- ///
- /// Tells whether the bank account's account number is valid
- ///
- public bool IsValid => BankAccountValidator.Validate(AccountNumber);
- ///
- /// Name of the bank the BankAccount belongs to
- ///
- public string Bank
- {
- get
- {
- if (IsValid)
- {
- return _giroBankDictionary[Convert.ToInt32(AccountNumber.Substring(0, 3))];
- }
- else
- {
- throw new FormatException("Invalid Bank Account");
- }
- }
- }
-
// https://www.mnb.hu/letoltes/hitelintezetek-azonosito-adatai.pdf
private readonly Dictionary _giroBankDictionary = new Dictionary()
{
@@ -65,7 +46,7 @@ public string Bank
{ 109, "UniCredit Bank Hungary Zrt." },
{ 171, "UniCredit Jelzálogbank Zrt." },
{ 147, "IC Bank Zrt." },
- { 111, "Inter-Európa Bank Zrt."},
+ { 111, "Inter-Európa Bank Zrt." },
{ 137, "ING Bank (Magyarország) Zrt." },
{ 104, "Kereskedelmi és Hitelbank Zrt." },
{ 144, "Központi Elszámolóház és Értéktár Zrt. (KELER)" },
@@ -97,16 +78,44 @@ public string Bank
{ 700, "Tiszaföldvár és Vidéke Takarékszövetkezet, Tiszaföldvár" },
{ 803, "Tiszántúli Első Hitelszövetkezet" },
{ 659, "Turai Takarékszövetkezet, Tura" },
- { 121, "Westdeutche Landesbank (Hungária) Zrt." }
+ { 121, "Westdeutche Landesbank (Hungária) Zrt." },
};
///
- /// Bank Account
+ /// Initializes a new instance of the class.
///
- /// Bank Account Number in the format of 00000000-00000000 or 00000000-00000000-00000000 with or without the hyphens
+ /// Bank Account Number in the format of 00000000-00000000 or 00000000-00000000-00000000 with or without the hyphens.
public BankAccount(string accountNumber)
{
AccountNumber = accountNumber;
}
+
+ ///
+ /// Bank Account Number in the format of 00000000-00000000 or 00000000-00000000-00000000 with or without the hyphens.
+ ///
+ public string AccountNumber { get; set; }
+
+ ///
+ /// Tells whether the bank account's account number is valid.
+ ///
+ public bool IsValid => BankAccountValidator.Validate(AccountNumber);
+
+ ///
+ /// Name of the bank the BankAccount belongs to.
+ ///
+ public string Bank
+ {
+ get
+ {
+ if (IsValid)
+ {
+ return _giroBankDictionary[Convert.ToInt32(AccountNumber.Substring(0, 3))];
+ }
+ else
+ {
+ throw new FormatException("Invalid Bank Account");
+ }
+ }
+ }
}
}
diff --git a/BankAccount/BankAccount.csproj b/BankAccount/BankAccount.csproj
index 47b1395..b9aa4d8 100644
--- a/BankAccount/BankAccount.csproj
+++ b/BankAccount/BankAccount.csproj
@@ -1,18 +1,29 @@
-
- netstandard1.1
+ netstandard1.0;netstandard2.0
MagyarNemzetiBank
MagyarNemzetiBank.BankAccount
This library written in pure C# checks the validity of Hungarian bank account numbers and determines which bank they belong to
- Balázs Keresztury
Copyright (c) 2019 Balázs Keresztury
MagyarNemzetiBank.BankAccount
- 1.0.0
- false
+ MIT
+ https://github.com/belidzs/MagyarNemzetiBank.BankAccount
+ https://github.com/belidzs/MagyarNemzetiBank.BankAccount
+ mnb bank banking bank-account bankaccount giro central-bank hungarian
+ Balázs Keresztury
+ true
+ 1.0.1
-
-
-
-
+
+
+
+
+
+
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
diff --git a/BankAccount/BankAccount.nuspec b/BankAccount/BankAccount.nuspec
deleted file mode 100644
index 37e1cec..0000000
--- a/BankAccount/BankAccount.nuspec
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
- $id$
- $version$
- $title$
- $author$
- belidzs
- https://github.com/belidzs/MagyarNemzetiBank.BankAccount/blob/develop/LICENCE
- https://github.com/belidzs/MagyarNemzetiBank.BankAccount
- false
- $description$
- First stable version
- $copyright$
- mnb bank banking bank-account bankaccount giro central-bank hungarian
-
-
\ No newline at end of file
diff --git a/BankAccount/BankAccountValidator.cs b/BankAccount/BankAccountValidator.cs
index a8dcbfb..75cc31b 100644
--- a/BankAccount/BankAccountValidator.cs
+++ b/BankAccount/BankAccountValidator.cs
@@ -1,4 +1,8 @@
-/*
+//
+// Copyright (c) Balázs Keresztury. All rights reserved.
+//
+
+/*
* 18/2009. (VIII. 6.) MNB rendelet a pénzforgalom lebonyolításáról
* http://net.jogtar.hu/jr/gen/hjegy_doc.cgi?docid=A0900018.MNB&celpara=#xcelparam
*
@@ -16,29 +20,35 @@
namespace MagyarNemzetiBank
{
///
- /// Static class to validate Hungarian bank account numbers
+ /// Static class to validate Hungarian bank account numbers.
///
public static class BankAccountValidator
{
+ private const string RegexGiro = "^[0-9]{8}-?[0-9]{8}(-?[0-9]{8})?$";
+
// ellenőrzőalgoritmusban meghatározott szorzók
private static readonly int[] Multipliers = { 9, 7, 3, 1 };
- private const string RegexGiro = "^[0-9]{8}-?[0-9]{8}(-?[0-9]{8})?$";
///
- /// Checks if the given bank account number conforms to the Hungarian bank account number format and performs a parity check
+ /// Checks if the given bank account number conforms to the Hungarian bank account number format and performs a parity check.
///
- /// Bank account number with or without hyphens
- /// True if the account number is valid
+ /// Bank account number with or without hyphens.
+ /// True if the account number is valid.
public static bool Validate(string accountNumber)
{
- if (accountNumber == null || accountNumber.Equals("")) return true;
- //megfelelés regex formátumnak
+ if (accountNumber == null || accountNumber.Equals(string.Empty))
+ {
+ return true;
+ }
+
+ // megfelelés regex formátumnak
Regex regexGiro = new Regex(RegexGiro);
if (regexGiro.IsMatch(accountNumber))
{
// ha megfelel a regexnek
// kötőjelek eltávolítása
- accountNumber = accountNumber.Replace("-", "");
+ accountNumber = accountNumber.Replace("-", string.Empty);
+
// első nyolc blokk és a maradék ellenőrzése, külön
return ValidateBlock(accountNumber.Substring(0, 8)) && ValidateBlock(accountNumber.Substring(8));
}
@@ -55,13 +65,15 @@ private static bool ValidateBlock(string accountNumberBlock)
for (int j = 0; j < accountNumberBlock.Length - 1; j++)
{
// szorzatösszeg kalkulálása
- result += Int32.Parse(accountNumberBlock[j].ToString()) * Multipliers[j % 4];
+ result += int.Parse(accountNumberBlock[j].ToString()) * Multipliers[j % 4];
}
- if ((10 - result % 10) % 10 != Int32.Parse(accountNumberBlock[accountNumberBlock.Length - 1].ToString()))
+
+ if ((10 - (result % 10)) % 10 != int.Parse(accountNumberBlock[accountNumberBlock.Length - 1].ToString()))
{
// a szorzatösszeg modulo 10 értékét 10-ből kivonva az utolsó számjegyet kell kapni. Ha ez 10, akkor 0-t
return false;
}
+
return true;
}
}
diff --git a/BankAccount/Properties/AssemblyInfo.cs b/BankAccount/Properties/AssemblyInfo.cs
deleted file mode 100644
index 7ea2a87..0000000
--- a/BankAccount/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("MagyarNemzetiBank.BankAccount")]
-[assembly: AssemblyDescription("This library written in pure C# checks the validity of Hungarian bank account numbers and determines which bank they belong to.")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("Balázs Keresztury")]
-[assembly: AssemblyProduct("MagyarNemzetiBank.BankAccount")]
-[assembly: AssemblyCopyright("Copyright (c) 2019 Balázs Keresztury")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("46844df6-193c-425b-b616-7e659dee4fb0")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/BankAccount/stylecop.json b/BankAccount/stylecop.json
new file mode 100644
index 0000000..3df3db0
--- /dev/null
+++ b/BankAccount/stylecop.json
@@ -0,0 +1,17 @@
+{
+ // ACTION REQUIRED: This file was automatically added to your project, but it
+ // will not take effect until additional steps are taken to enable it. See the
+ // following page for additional information:
+ //
+ // https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/EnableConfiguration.md
+
+ "$schema": "https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json",
+ "settings": {
+ "documentationRules": {
+ "companyName": "Balázs Keresztury",
+ },
+ "orderingRules": {
+ "usingDirectivesPlacement": "outsideNamespace"
+ }
+ }
+}
diff --git a/BankAccountExample/App.config b/BankAccountExample/App.config
deleted file mode 100644
index 7eb8d24..0000000
--- a/BankAccountExample/App.config
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/BankAccountExample/BankAccountExample.csproj b/BankAccountExample/BankAccountExample.csproj
deleted file mode 100644
index 4c4b647..0000000
--- a/BankAccountExample/BankAccountExample.csproj
+++ /dev/null
@@ -1,58 +0,0 @@
-
-
-
-
- Debug
- AnyCPU
- {1A4ACA5A-7461-4A21-AC51-E3F784E3CC38}
- Exe
- MagyarNemzetiBank
- MagyarNemzetiBank.BankAccountExample
- v4.6.1
- 512
- true
-
-
- AnyCPU
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
-
-
- AnyCPU
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {F868E5A1-F07A-4A11-A399-065DA1E192A8}
- BankAccount
-
-
-
-
\ No newline at end of file
diff --git a/BankAccountExample/Program.cs b/BankAccountExample/Program.cs
deleted file mode 100644
index e019dc8..0000000
--- a/BankAccountExample/Program.cs
+++ /dev/null
@@ -1,44 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using MagyarNemzetiBank;
-
-namespace MagyarNemzetiBank.BankAccountExample
-{
- class Program
- {
- static void Main(string[] args)
- {
- string validAccountNumber = "10032000-01076349";
- var accountValid = new BankAccount(validAccountNumber);
- System.Console.WriteLine($"{accountValid.AccountNumber}: IsValid = {accountValid.IsValid}, Bank = {accountValid.Bank}");
-
- var accountInvalidNumber = new BankAccount("00000000-00000000-00000001");
- System.Console.WriteLine($"{accountInvalidNumber.AccountNumber}: IsValid = {accountInvalidNumber.IsValid}");
- try
- {
- System.Console.WriteLine($"Checking bank details for {accountInvalidNumber.AccountNumber}");
- System.Console.WriteLine(accountInvalidNumber.Bank);
- }
- catch (FormatException)
- {
- System.Console.WriteLine($"{typeof(FormatException)} was thrown because account number was not valid");
- }
-
- var accountInvalidBank = new BankAccount("00000000-00000000");
- System.Console.WriteLine($"{accountInvalidBank.AccountNumber}: IsValid = {accountInvalidBank.IsValid} (it's technically valid)");
- try
- {
- System.Console.WriteLine($"Checking bank details for {accountInvalidBank.AccountNumber}");
- System.Console.WriteLine(accountInvalidBank.Bank);
- }
- catch (KeyNotFoundException)
- {
- System.Console.WriteLine($"{typeof(KeyNotFoundException)} was thrown, because the bank account number doesn't belong to any known bank.");
- }
- System.Console.ReadKey();
- }
- }
-}
diff --git a/BankAccountExample/Properties/AssemblyInfo.cs b/BankAccountExample/Properties/AssemblyInfo.cs
deleted file mode 100644
index ea90229..0000000
--- a/BankAccountExample/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("ConsoleApp1")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("ConsoleApp1")]
-[assembly: AssemblyCopyright("Copyright © 2019")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("1a4aca5a-7461-4a21-ac51-e3f784e3cc38")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/BankAccountExamples/BankAccountExamples.csproj b/BankAccountExamples/BankAccountExamples.csproj
new file mode 100644
index 0000000..89d2bd4
--- /dev/null
+++ b/BankAccountExamples/BankAccountExamples.csproj
@@ -0,0 +1,28 @@
+
+
+
+ Exe
+ netcoreapp3.1
+ 1.0.1
+
+
+
+
+
+
+
+
+
+
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+
+
+
+
+
+
diff --git a/BankAccountExamples/Program.cs b/BankAccountExamples/Program.cs
new file mode 100644
index 0000000..095b540
--- /dev/null
+++ b/BankAccountExamples/Program.cs
@@ -0,0 +1,52 @@
+//
+// Copyright (c) Balázs Keresztury. All rights reserved.
+//
+
+using System;
+using System.Collections.Generic;
+using MagyarNemzetiBank;
+
+namespace BankAccountExamples
+{
+ ///
+ /// Main entry point of the application.
+ ///
+ public class Program
+ {
+ ///
+ /// Main entry point of the application.
+ ///
+ public static void Main()
+ {
+ string validAccountNumber = "10032000-01076349";
+ var accountValid = new BankAccount(validAccountNumber);
+ Console.WriteLine($"{accountValid.AccountNumber}: IsValid = {accountValid.IsValid}, Bank = {accountValid.Bank}");
+
+ var accountInvalidNumber = new BankAccount("00000000-00000000-00000001");
+ Console.WriteLine($"{accountInvalidNumber.AccountNumber}: IsValid = {accountInvalidNumber.IsValid}");
+ try
+ {
+ Console.WriteLine($"Checking bank details for {accountInvalidNumber.AccountNumber}");
+ Console.WriteLine(accountInvalidNumber.Bank);
+ }
+ catch (FormatException)
+ {
+ Console.WriteLine($"{typeof(FormatException)} was thrown because account number was not valid");
+ }
+
+ var accountInvalidBank = new BankAccount("00000000-00000000");
+ Console.WriteLine($"{accountInvalidBank.AccountNumber}: IsValid = {accountInvalidBank.IsValid} (it's technically valid)");
+ try
+ {
+ Console.WriteLine($"Checking bank details for {accountInvalidBank.AccountNumber}");
+ Console.WriteLine(accountInvalidBank.Bank);
+ }
+ catch (KeyNotFoundException)
+ {
+ Console.WriteLine($"{typeof(KeyNotFoundException)} was thrown because the bank account number doesn't belong to any known bank.");
+ }
+
+ Console.ReadKey();
+ }
+ }
+}
diff --git a/BankAccountExamples/stylecop.json b/BankAccountExamples/stylecop.json
new file mode 100644
index 0000000..ebc1523
--- /dev/null
+++ b/BankAccountExamples/stylecop.json
@@ -0,0 +1,17 @@
+{
+ // ACTION REQUIRED: This file was automatically added to your project, but it
+ // will not take effect until additional steps are taken to enable it. See the
+ // following page for additional information:
+ //
+ // https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/EnableConfiguration.md
+
+ "$schema": "https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json",
+ "settings": {
+ "documentationRules": {
+ "companyName": "Balázs Keresztury"
+ },
+ "orderingRules": {
+ "usingDirectivesPlacement": "outsideNamespace"
+ }
+ }
+}
diff --git a/BankAccountTests/BankAccountTests.cs b/BankAccountTests/BankAccountTests.cs
index 721de4b..77d5fd5 100644
--- a/BankAccountTests/BankAccountTests.cs
+++ b/BankAccountTests/BankAccountTests.cs
@@ -1,12 +1,22 @@
-using NUnit.Framework;
+//
+// Copyright (c) Balázs Keresztury. All rights reserved.
+//
+
using System;
using System.Collections.Generic;
+using NUnit.Framework;
namespace MagyarNemzetiBank.Tests
{
+ ///
+ /// Tests for the BankAccount class.
+ ///
[TestFixture]
public class BankAccountTests
{
+ ///
+ /// Tests if a valid bank account number belonging to a known bank is recognized.
+ ///
[Test]
public void TestKnownBank()
{
@@ -14,6 +24,9 @@ public void TestKnownBank()
Assert.That(testAccount.Bank, Is.EqualTo("Magyar Államkincstár"));
}
+ ///
+ /// Tests if reading bank information of a valid bank account number which doesn't belong to a known bank throws an exception.
+ ///
[Test]
public void TestUnknownBank()
{
@@ -21,6 +34,9 @@ public void TestUnknownBank()
Assert.That(() => testAccount.Bank, Throws.InstanceOf(typeof(KeyNotFoundException)));
}
+ ///
+ /// Tests if an invalid bank account number is recognized as such and an exception is thrown.
+ ///
[Test]
public void TestInvalidFormat()
{
diff --git a/BankAccountTests/BankAccountTests.csproj b/BankAccountTests/BankAccountTests.csproj
index f771434..fb2bbf7 100644
--- a/BankAccountTests/BankAccountTests.csproj
+++ b/BankAccountTests/BankAccountTests.csproj
@@ -1,70 +1,33 @@
-
-
-
-
-
+
+
- Debug
- AnyCPU
- {8EDF4429-251A-416D-BB68-93F227191BCF}
- Library
- Properties
- MagyarNemzetiBank.Tests
- MagyarNemzetiBank.Tests
- v4.6.1
- 512
-
-
-
-
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
+ netcoreapp3.1
+ 1.0.1
+
-
- ..\packages\NUnit.3.11.0\lib\net45\nunit.framework.dll
-
-
+
+
-
-
+
+
-
+
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
-
- {f868e5a1-f07a-4a11-a399-065da1e192a8}
- BankAccount
-
+
-
-
-
- This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
-
-
-
-
-
-
\ No newline at end of file
+
+
diff --git a/BankAccountTests/BankAccountValidatorTests.cs b/BankAccountTests/BankAccountValidatorTests.cs
index c5c6101..ce0335a 100644
--- a/BankAccountTests/BankAccountValidatorTests.cs
+++ b/BankAccountTests/BankAccountValidatorTests.cs
@@ -1,10 +1,21 @@
-using NUnit.Framework;
+//
+// Copyright (c) Balázs Keresztury. All rights reserved.
+//
+
+using NUnit.Framework;
namespace MagyarNemzetiBank.Tests
{
+ ///
+ /// Tests various valid and invalid account numbers.
+ ///
[TestFixture]
public class BankAccountValidatorTests
{
+ ///
+ /// Tests if valid bank account numbers are recognized.
+ ///
+ /// Bank account number.
[TestCase("109180010000041626260018")]
[TestCase("10918001-00000416-26260018")]
[TestCase("100320000107634900000000")]
@@ -16,6 +27,10 @@ public void TestValid(string accountNumber)
Assert.That(BankAccountValidator.Validate(accountNumber), Is.True);
}
+ ///
+ /// Tests if correctly formatted but mathematically invalid bank account numbers are recognized as such.
+ ///
+ /// Bank account number.
[TestCase("109180010000041626260017")]
[TestCase("10918001-00000416-26260017")]
[TestCase("100320000107634900000001")]
@@ -27,6 +42,10 @@ public void TestBadChecksum(string accountNumber)
Assert.That(BankAccountValidator.Validate(accountNumber), Is.False);
}
+ ///
+ /// Tests if bank account numbers not meeting basic format are recognized as invalid.
+ ///
+ /// Bank account number.
[TestCase("10032000010763490000000")]
[TestCase("10032000-01076349-0000000")]
[TestCase("100320000107634")]
diff --git a/BankAccountTests/packages.config b/BankAccountTests/packages.config
deleted file mode 100644
index 485cd7d..0000000
--- a/BankAccountTests/packages.config
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/BankAccountTests/stylecop.json b/BankAccountTests/stylecop.json
new file mode 100644
index 0000000..3df3db0
--- /dev/null
+++ b/BankAccountTests/stylecop.json
@@ -0,0 +1,17 @@
+{
+ // ACTION REQUIRED: This file was automatically added to your project, but it
+ // will not take effect until additional steps are taken to enable it. See the
+ // following page for additional information:
+ //
+ // https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/EnableConfiguration.md
+
+ "$schema": "https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json",
+ "settings": {
+ "documentationRules": {
+ "companyName": "Balázs Keresztury",
+ },
+ "orderingRules": {
+ "usingDirectivesPlacement": "outsideNamespace"
+ }
+ }
+}
diff --git a/MagyarNemzetiBank.BankAccount.sln b/MagyarNemzetiBank.BankAccount.sln
index 6a4d18c..e76c5c5 100644
--- a/MagyarNemzetiBank.BankAccount.sln
+++ b/MagyarNemzetiBank.BankAccount.sln
@@ -1,13 +1,13 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.28307.645
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.29806.167
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BankAccount", "BankAccount\BankAccount.csproj", "{F868E5A1-F07A-4A11-A399-065DA1E192A8}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BankAccountTests", "BankAccountTests\BankAccountTests.csproj", "{8EDF4429-251A-416D-BB68-93F227191BCF}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BankAccountExamples", "BankAccountExamples\BankAccountExamples.csproj", "{FBFC5E26-44D5-4378-B99F-7767A848D33D}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BankAccountExample", "..\..\..\Documents\Visual Studio 2017\Projects\MagyarNemzetiBank.BankAccount\BankAccountExample\BankAccountExample.csproj", "{1A4ACA5A-7461-4A21-AC51-E3F784E3CC38}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BankAccountTests", "BankAccountTests\BankAccountTests.csproj", "{F87688C5-A548-41E7-9104-149180FF56F4}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -19,14 +19,14 @@ Global
{F868E5A1-F07A-4A11-A399-065DA1E192A8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F868E5A1-F07A-4A11-A399-065DA1E192A8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F868E5A1-F07A-4A11-A399-065DA1E192A8}.Release|Any CPU.Build.0 = Release|Any CPU
- {8EDF4429-251A-416D-BB68-93F227191BCF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {8EDF4429-251A-416D-BB68-93F227191BCF}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {8EDF4429-251A-416D-BB68-93F227191BCF}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {8EDF4429-251A-416D-BB68-93F227191BCF}.Release|Any CPU.Build.0 = Release|Any CPU
- {1A4ACA5A-7461-4A21-AC51-E3F784E3CC38}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {1A4ACA5A-7461-4A21-AC51-E3F784E3CC38}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {1A4ACA5A-7461-4A21-AC51-E3F784E3CC38}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {1A4ACA5A-7461-4A21-AC51-E3F784E3CC38}.Release|Any CPU.Build.0 = Release|Any CPU
+ {FBFC5E26-44D5-4378-B99F-7767A848D33D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {FBFC5E26-44D5-4378-B99F-7767A848D33D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {FBFC5E26-44D5-4378-B99F-7767A848D33D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {FBFC5E26-44D5-4378-B99F-7767A848D33D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F87688C5-A548-41E7-9104-149180FF56F4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F87688C5-A548-41E7-9104-149180FF56F4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F87688C5-A548-41E7-9104-149180FF56F4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F87688C5-A548-41E7-9104-149180FF56F4}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE