-
-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- file scoped ns everywhere - editorconfig: format entire sln - remove .net 7, add .net 9 TFMs - primary ctors and records where relevant - add support for Microsoft Test Platform (xunit-v3) - update gh actions +semver:major
- Loading branch information
Showing
37 changed files
with
2,115 additions
and
1,925 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,162 @@ | ||
# Remove the line below if you want to inherit .editorconfig settings from higher directories | ||
root = true | ||
|
||
[*] | ||
charset = utf-8 | ||
insert_final_newline = true | ||
|
||
# C# files | ||
[*.cs] | ||
|
||
#### Core EditorConfig Options #### | ||
|
||
# Indentation and spacing | ||
indent_size = 4 | ||
indent_style = space | ||
tab_width = 4 | ||
|
||
# New line preferences | ||
insert_final_newline = true | ||
trim_trailing_whitespace = true | ||
|
||
|
||
#### .NET Coding Conventions #### | ||
|
||
# this. and Me. preferences | ||
dotnet_style_qualification_for_event = false:warning | ||
dotnet_style_qualification_for_field = false:warning | ||
dotnet_style_qualification_for_method = false:warning | ||
dotnet_style_qualification_for_property = false:warning | ||
|
||
# Language keywords vs BCL types preferences | ||
dotnet_style_predefined_type_for_locals_parameters_members = true:silent | ||
dotnet_style_predefined_type_for_member_access = true:silent | ||
|
||
# Parentheses preferences | ||
dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:silent | ||
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:silent | ||
dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent | ||
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:silent | ||
|
||
# Modifier preferences | ||
dotnet_style_require_accessibility_modifiers = for_non_interface_members:warning | ||
|
||
# Expression-level preferences | ||
csharp_style_deconstructed_variable_declaration = true:suggestion | ||
csharp_style_inlined_variable_declaration = true:suggestion | ||
csharp_style_throw_expression = true:suggestion | ||
dotnet_style_coalesce_expression = true:suggestion | ||
dotnet_style_collection_initializer = true:suggestion | ||
dotnet_style_explicit_tuple_names = true:suggestion | ||
dotnet_style_null_propagation = true:suggestion | ||
dotnet_style_object_initializer = true:suggestion | ||
dotnet_style_prefer_auto_properties = true:silent | ||
dotnet_style_prefer_compound_assignment = true:suggestion | ||
dotnet_style_prefer_conditional_expression_over_assignment = true:silent | ||
dotnet_style_prefer_conditional_expression_over_return = true:silent | ||
dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion | ||
dotnet_style_prefer_inferred_tuple_names = true:suggestion | ||
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion | ||
|
||
# Field preferences | ||
dotnet_style_readonly_field = true:suggestion | ||
|
||
# Parameter preferences | ||
dotnet_code_quality_unused_parameters = all:suggestion | ||
|
||
#### C# Coding Conventions #### | ||
|
||
# var preferences | ||
csharp_style_var_elsewhere = false:silent | ||
csharp_style_var_for_built_in_types = false:silent | ||
csharp_style_var_when_type_is_apparent = false:silent | ||
|
||
# Expression-bodied members | ||
csharp_style_expression_bodied_accessors = true:silent | ||
csharp_style_expression_bodied_constructors = false:silent | ||
csharp_style_expression_bodied_indexers = true:silent | ||
csharp_style_expression_bodied_lambdas = true:silent | ||
csharp_style_expression_bodied_local_functions = false:silent | ||
csharp_style_expression_bodied_methods = false:silent | ||
csharp_style_expression_bodied_operators = false:silent | ||
csharp_style_expression_bodied_properties = true:silent | ||
|
||
# Pattern matching preferences | ||
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion | ||
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion | ||
|
||
# Null-checking preferences | ||
csharp_style_conditional_delegate_call = true:suggestion | ||
|
||
# Modifier preferences | ||
csharp_preferred_modifier_order = public, private, protected, internal, static, extern, new, virtual, abstract, sealed, override, readonly, unsafe, volatile, async | ||
|
||
# Code-block preferences | ||
csharp_prefer_braces = true:silent | ||
|
||
# Expression-level preferences | ||
csharp_prefer_simple_default_expression = true:suggestion | ||
csharp_style_pattern_local_over_anonymous_function = true:suggestion | ||
csharp_style_prefer_index_operator = true:suggestion | ||
csharp_style_prefer_range_operator = true:suggestion | ||
csharp_style_unused_value_assignment_preference = discard_variable:suggestion | ||
csharp_style_unused_value_expression_statement_preference = discard_variable:silent | ||
|
||
# C# 10 | ||
csharp_style_namespace_declarations = file_scoped:error | ||
csharp_style_prefer_primary_constructors = true | ||
dotnet_diagnostic.IDE0290.severity = error | ||
|
||
|
||
#### C# Formatting Rules #### | ||
|
||
# New line preferences | ||
csharp_new_line_before_catch = true | ||
csharp_new_line_before_else = true | ||
csharp_new_line_before_finally = true | ||
csharp_new_line_before_members_in_anonymous_types = true | ||
csharp_new_line_before_members_in_object_initializers = true | ||
csharp_new_line_before_open_brace = all | ||
csharp_new_line_between_query_expression_clauses = true | ||
|
||
# Indentation preferences | ||
csharp_indent_block_contents = true | ||
csharp_indent_braces = false | ||
csharp_indent_case_contents = true | ||
csharp_indent_case_contents_when_block = true | ||
csharp_indent_labels = one_less_than_current | ||
csharp_indent_switch_labels = true | ||
|
||
# Space preferences | ||
csharp_space_after_cast = false | ||
csharp_space_after_colon_in_inheritance_clause = true | ||
csharp_space_after_comma = true | ||
csharp_space_after_dot = false | ||
csharp_space_after_keywords_in_control_flow_statements = true | ||
csharp_space_after_semicolon_in_for_statement = true | ||
csharp_space_around_binary_operators = before_and_after | ||
csharp_space_around_declaration_statements = false | ||
csharp_space_before_colon_in_inheritance_clause = true | ||
csharp_space_before_comma = false | ||
csharp_space_before_dot = false | ||
csharp_space_before_open_square_brackets = false | ||
csharp_space_before_semicolon_in_for_statement = false | ||
csharp_space_between_empty_square_brackets = false | ||
csharp_space_between_method_call_empty_parameter_list_parentheses = false | ||
csharp_space_between_method_call_name_and_opening_parenthesis = false | ||
csharp_space_between_method_call_parameter_list_parentheses = false | ||
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false | ||
csharp_space_between_method_declaration_name_and_open_parenthesis = false | ||
csharp_space_between_method_declaration_parameter_list_parentheses = false | ||
csharp_space_between_parentheses = false | ||
csharp_space_between_square_brackets = false | ||
|
||
# Wrapping preferences | ||
csharp_preserve_single_line_blocks = true | ||
csharp_preserve_single_line_statements = true | ||
|
||
|
||
[*.csproj] | ||
indent_size = 2 | ||
indent_style = space | ||
tab_width = 2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,10 @@ | ||
using System; | ||
using Xunit; | ||
namespace NoCommons.Tests; | ||
|
||
namespace NoCommons.Tests | ||
public class AssertionUtils | ||
{ | ||
public class AssertionUtils | ||
public static void AssertMessageContains(ArgumentException argumentException, string errorSyntax) | ||
{ | ||
public static void AssertMessageContains(ArgumentException argumentException, string errorSyntax) | ||
{ | ||
bool containsText = argumentException.Message.Contains(errorSyntax); | ||
Assert.True(containsText); | ||
} | ||
|
||
|
||
bool containsText = argumentException.Message.Contains(errorSyntax); | ||
Assert.True(containsText); | ||
} | ||
} | ||
} |
E982
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,32 +1,29 @@ | ||
using Xunit; | ||
using NoCommons.Banking; | ||
|
||
namespace NoCommons.Tests.Banking | ||
namespace NoCommons.Tests.Banking; | ||
|
||
public class IbanValidationTests | ||
{ | ||
public class IbanValidationTests | ||
/// Structure for IBAN in a lot of counties are found here: | ||
/// URL: http://www.ecbs.org/iban.htm | ||
[Theory] | ||
[InlineData("NO9386011117947", "Norway")] | ||
[InlineData("ES9121000418450200051332", "Spain")] | ||
public void TestValidNorwegianIban(string ibanValue, string country) | ||
{ | ||
/// Structure for IBAN in a lot of counties are found here: | ||
/// URL: http://www.ecbs.org/iban.htm | ||
[Theory] | ||
[InlineData("NO9386011117947", "Norway")] | ||
[InlineData("ES9121000418450200051332", "Spain")] | ||
public void TestValidNorwegianIban(string ibanValue, string country) | ||
{ | ||
Assert.True(IbanValidator.IsValid(ibanValue), string.Format("Invalid for {0}", country)); | ||
} | ||
|
||
[Theory] | ||
[InlineData("NO93 8601 1117 947", "On valid print format, but not valid digital format")] | ||
[InlineData("ES91 2100 0418 4502 0005 1332", "On valid print format, but not valid digital format")] | ||
[InlineData("no9386011117947", "Lower case country code")] | ||
[InlineData("9386011117947", "Missing country code")] | ||
[InlineData("NO938601111794", "Missing end digit")] | ||
[InlineData("", "Empty string")] | ||
[InlineData(null, "null")] | ||
public void InvalidIbansReturnsFalse(string ibanValue, string reason) | ||
{ | ||
Assert.False(IbanValidator.IsValid(ibanValue), string.Format("Valid when {0}. ", reason)); | ||
} | ||
Assert.True(IbanValidator.IsValid(ibanValue), $"Invalid for {country}"); | ||
} | ||
|
||
[Theory] | ||
[InlineData("NO93 8601 1117 947", "On valid print format, but not valid digital format")] | ||
[InlineData("ES91 2100 0418 4502 0005 1332", "On valid print format, but not valid digital format")] | ||
[InlineData("no9386011117947", "Lower case country code")] | ||
[InlineData("9386011117947", "Missing country code")] | ||
[InlineData("NO938601111794", "Missing end digit")] | ||
[InlineData("", "Empty string")] | ||
[InlineData(null, "null")] | ||
public void InvalidIbansReturnsFalse(string? ibanValue, string reason) | ||
{ | ||
Assert.False(IbanValidator.IsValid(ibanValue!), $"Valid when {reason}. "); | ||
} | ||
} | ||
} |
Oops, something went wrong.