diff --git a/.editorconfig b/.editorconfig index 58535d8..6d6f521 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,40 +1,80 @@ -# To learn more about .editorconfig see https://aka.ms/editorconfigdocs +# This is the reoslyn .EditorConfig + +# top-most EditorConfig file root = true -# All files +# Don't use tabs for indentation. [*] indent_style = space -trim_trailing_whitespace = true +# (Please don't specify an indent_size here; that has too many unintended consequences.) # Code files [*.{cs,csx,vb,vbx}] indent_size = 4 -end_of_line = crlf +insert_final_newline = true +charset = utf-8-bom -# Xml files -[*.xml] +# Xml project files +[*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj}] indent_size = 2 -# Dotnet code style -[*.{cs,vb}] -# Organize usings -dotnet_sort_system_directives_first = true +# Xml config files +[*.{props,targets,ruleset,config,nuspec,resx,vsixmanifest,vsct}] +indent_size = 2 -# Avoid this. unless absolutely necessary +# JSON files +[*.json] +indent_size = 2 + +# Dotnet code style settings: +[*.{cs,vb}] +# Sort using and Import directives with System.* appearing first +dotnet_sort_system_directives_first = true +# Avoid "this." and "Me." if not necessary dotnet_style_qualification_for_field = false:suggestion dotnet_style_qualification_for_property = false:suggestion dotnet_style_qualification_for_method = false:suggestion dotnet_style_qualification_for_event = false:suggestion -# Use language keywords instead of BCL types +# Use language keywords instead of framework type names for type references dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion dotnet_style_predefined_type_for_member_access = true:suggestion -# Naming conventions -dotnet_naming_style.pascal_case_style.capitalization = pascal_case -# Classes, structs, methods, enums, events, properties, namespaces, delegates must be PascalCase -dotnet_naming_rule.general_naming.severity = suggestion -dotnet_naming_rule.general_naming.symbols = general -dotnet_naming_rule.general_naming.style = pascal_case_style -dotnet_naming_symbols.general.applicable_kinds = class,struct,enum,property,method,event,namespace,delegate -dotnet_naming_symbols.general.applicable_accessibilities = * +# Suggest more modern language features when available +dotnet_style_object_initializer = true:suggestion +dotnet_style_collection_initializer = true:suggestion +dotnet_style_coalesce_expression = true:suggestion +dotnet_style_null_propagation = true:suggestion +dotnet_style_explicit_tuple_names = true:suggestion + +# CSharp code style settings: +[*.cs] +# Prefer "var" everywhere +csharp_style_var_for_built_in_types = true:suggestion +csharp_style_var_when_type_is_apparent = true:suggestion +csharp_style_var_elsewhere = true:suggestion + +# Prefer method-like constructs to have a block body +csharp_style_expression_bodied_methods = false:none +csharp_style_expression_bodied_constructors = false:none +csharp_style_expression_bodied_operators = false:none + +# Prefer property-like constructs to have an expression-body +csharp_style_expression_bodied_properties = true:none +csharp_style_expression_bodied_indexers = true:none +csharp_style_expression_bodied_accessors = true:none + +# Suggest more modern language features when available +csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion +csharp_style_pattern_matching_over_as_with_null_check = true:suggestion +csharp_style_inlined_variable_declaration = true:suggestion +csharp_style_throw_expression = true:suggestion +csharp_style_conditional_delegate_call = true:suggestion + +# Newline settings +csharp_new_line_before_open_brace = all +csharp_new_line_before_else = true +csharp_new_line_before_catch = true +csharp_new_line_before_finally = true +csharp_new_line_before_members_in_object_initializers = true +csharp_new_line_before_members_in_anonymous_types = true \ No newline at end of file diff --git a/SieveUnitTests/Services/SieveCustomFilterMethods.cs b/SieveUnitTests/Services/SieveCustomFilterMethods.cs index 39762e3..6d67107 100644 --- a/SieveUnitTests/Services/SieveCustomFilterMethods.cs +++ b/SieveUnitTests/Services/SieveCustomFilterMethods.cs @@ -6,10 +6,16 @@ namespace SieveUnitTests.Services { public class SieveCustomFilterMethods : ISieveCustomFilterMethods { - public IQueryable IsNew(IQueryable source) - => source.Where(p => p.LikeCount < 100); + public IQueryable IsNew(IQueryable source, string op, string value) + { + var result = source.Where(p => p.LikeCount < 100); - public IQueryable TestComment(IQueryable source) - => source; + return result; + } + + public IQueryable TestComment(IQueryable source, string op, string value) + { + return source; + } } } diff --git a/SieveUnitTests/Services/SieveCustomSortMethods.cs b/SieveUnitTests/Services/SieveCustomSortMethods.cs index c828125..8fd3f17 100644 --- a/SieveUnitTests/Services/SieveCustomSortMethods.cs +++ b/SieveUnitTests/Services/SieveCustomSortMethods.cs @@ -6,10 +6,15 @@ namespace SieveUnitTests.Services { public class SieveCustomSortMethods : ISieveCustomSortMethods { - public IQueryable Popularity(IQueryable source, bool useThenBy) => useThenBy - ? ((IOrderedQueryable)source).ThenBy(p => p.LikeCount) - : source.OrderBy(p => p.LikeCount) + public IQueryable Popularity(IQueryable source, bool useThenBy, bool desc) + { + var result = useThenBy ? + ((IOrderedQueryable)source).ThenBy(p => p.LikeCount) : + source.OrderBy(p => p.LikeCount) .ThenBy(p => p.CommentCount) .ThenBy(p => p.DateCreated); + + return result; + } } }