Skip to content

feat: Adds an IBAN generator based on patterns functionality#31

Merged
skwasjer merged 3 commits intodevelopfrom
feature/iban_generator
Jun 7, 2021
Merged

feat: Adds an IBAN generator based on patterns functionality#31
skwasjer merged 3 commits intodevelopfrom
feature/iban_generator

Conversation

@skwasjer
Copy link
Owner

@skwasjer skwasjer commented Jun 7, 2021

See #21

Use case: (integration) testing with generated IBAN's

  • Adds a new class IbanGenerator which can be used to generate random IBAN's for testing purposes. Each Generate() invocation returns a new random IBAN.
  • Only accepts country codes that are registered in the provided registry (via ctor, default is all 'known' IbanNet countries).
  • Generates valid IBAN check digits.
  • Generates IBAN's that pass validation (guaranteed, but not considering custom rules).
  • Registered in dependency injection containers as interface IIbanGenerator.

Inline example

var generator = new IbanGenerator();
Iban randomIban = generator.Generate("NL");

DI example

IIbanGenerator generator = services.GetRequiredService<IIbanGenerator>();
Iban randomIban = generator.Generate("GB");

Note: does NOT support specifying in specific bank/branch codes. The entire IBAN is completely random (apart from country code/check digits). You can use the generated IBAN icw. the IbanBuilder class to generate a new IBAN with bank/branch codes of choice via some extra custom code.

@skwasjer skwasjer force-pushed the feature/iban_generator branch from 4f62e1f to 753403d Compare June 7, 2021 23:31
@skwasjer skwasjer force-pushed the feature/iban_generator branch from 753403d to 59f4083 Compare June 7, 2021 23:34
@codecov-commenter
Copy link

Codecov Report

Merging #31 (59f4083) into develop (c632775) will increase coverage by 0.37%.
The diff coverage is 97.67%.

Impacted Files Coverage Δ
src/IbanNet/Registry/IbanGenerator.cs 96.96% <96.96%> (ø)
...anNet.DependencyInjection.Autofac/IbanNetModule.cs 100.00% <100.00%> (ø)
...ion.ServiceProvider/ServiceCollectionExtensions.cs 100.00% <100.00%> (ø)
src/IbanNet/Builders/BuilderExtensions.cs 100.00% <100.00%> (ø)
src/IbanNet/Registry/IbanCountry.cs 96.15% <0.00%> (+3.84%) ⬆️

@skwasjer skwasjer merged commit 381e9a1 into develop Jun 7, 2021
@skwasjer skwasjer deleted the feature/iban_generator branch June 7, 2021 23:42
@skwasjer skwasjer mentioned this pull request Jun 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants