From 3327a11b5a8bf9e540a0b24532cba98b99d4ac44 Mon Sep 17 00:00:00 2001 From: Daniel Cazzulino Date: Wed, 2 Aug 2023 20:15:57 -0300 Subject: [PATCH] Revamp structure, apply oss template, cleanup projects/imports --- .editorconfig | 112 +++++++++-- .gitattributes | 26 ++- .github/dependabot.yml | 34 ++++ .github/release.yml | 32 ++++ .github/workflows/build.yml | 94 +++++++++ .github/workflows/changelog.config | 9 + .github/workflows/changelog.yml | 39 ++++ .github/workflows/combine-prs.yml | 157 +++++++++++++++ .github/workflows/includes.yml | 2 +- .github/workflows/publish.yml | 34 ++++ .github/workflows/test/action.yml | 36 ++++ .gitignore | 33 +++- .netconfig | 101 +++++++++- Before.Moq.sln.targets | 9 - CONTRIBUTING.md | 11 +- Directory.Build.props | 15 -- Directory.Build.rsp | 5 + GitInfo.txt | 1 - Moq.sln | 13 +- _config.yml | 3 + assets/css/style.scss | 26 +++ moq-bigger.png => assets/img/moq-bigger.png | Bin moq-icon.png => assets/img/moq-icon.png | Bin moq-small.png => assets/img/moq-small.png | Bin moq.png => assets/img/moq.png | Bin build/AssemblyInfo.props | 11 -- build/GitVersion.props | 30 --- build/SignAssembly.props | 11 -- build/SourceLink.props | 12 -- build/xUnit.props | 18 -- src/Directory.Build.props | 146 ++++++++++++++ src/Directory.Build.targets | 178 ++++++++++++++++++ src/Directory.props | 13 ++ .../Moq.Tests.ComTypes/BuildDLLFromIDL.cmd | 0 .../Moq.Tests.ComTypes/ComTypes.idl | 0 .../Moq.Tests.ComTypes/Moq.Tests.ComTypes.dll | Bin {tests => src}/Moq.Tests.ComTypes/README.md | 0 .../HasAbstractActionEvent.fs | 0 .../HasAbstractEventHandlerEvent.fs | 0 .../HasAbstractIndexer.fs | 0 .../HasAbstractProperty.fs | 0 .../Moq.Tests.FSharpTypes/HasActionEvent.fs | 0 .../Moq.Tests.FSharpTypes/HasIndexer.fs | 0 .../Moq.Tests.FSharpTypes/HasProperty.fs | 0 .../Moq.Tests.FSharpTypes/IHasActionEvent.fs | 0 .../IHasEventHandlerEvent.fs | 0 .../Moq.Tests.FSharpTypes/IHasIndexer.fs | 0 .../Moq.Tests.FSharpTypes/IHasProperty.fs | 0 .../Moq.Tests.FSharpTypes.fsproj | 12 +- .../Moq.Tests.VisualBasic/IssueReports.vb | 0 .../Moq.Tests.VisualBasic.vbproj | 21 +++ .../Moq.Tests/ActionObserverFixture.cs | 0 ...ReturnCallbackDelegateValidationFixture.cs | 0 .../Moq.Tests/AsInterfaceFixture.cs | 0 .../Moq.Tests/Async/AwaitableFixture.cs | 0 .../CSharpCompilerExpressionsFixture.cs | 0 ...eDefaultInterfaceImplementationsFixture.cs | 0 {tests => src}/Moq.Tests/CallBaseFixture.cs | 0 .../CallbackDelegateValidationFixture.cs | 0 {tests => src}/Moq.Tests/CallbacksFixture.cs | 0 {tests => src}/Moq.Tests/CaptureFixture.cs | 0 .../Moq.Tests/CaptureMatchFixture.cs | 0 .../Moq.Tests/ComCompatibilityFixture.cs | 0 .../Moq.Tests/ConditionalSetupFixture.cs | 0 .../CustomDefaultValueProviderFixture.cs | 0 .../Moq.Tests/CustomMatcherFixture.cs | 0 .../Moq.Tests/CustomTypeMatchersFixture.cs | 0 .../Moq.Tests/DefaultValueProviderFixture.cs | 0 {tests => src}/Moq.Tests/Demo.cs | 0 .../EmptyDefaultValueProviderFixture.cs | 0 .../EventHandlerTypesMustMatchFixture.cs | 0 .../Moq.Tests/EventHandlersFixture.cs | 0 .../Moq.Tests/ExpressionExtensionsFixture.cs | 0 .../Moq.Tests/ExpressionSplitFixture.cs | 0 .../Moq.Tests/ExtensibilityFixture.cs | 0 {tests => src}/Moq.Tests/ExtensionsFixture.cs | 0 .../Moq.Tests/FSharpCompatibilityFixture.cs | 0 .../GeneratedReturnsExtensionsFixture.cs | 0 .../Moq.Tests/HidePropertyFixture.cs | 0 .../Moq.Tests/InterceptorFixture.cs | 0 .../Moq.Tests/InvocationsFixture.cs | 0 {tests => src}/Moq.Tests/IsSubtypeFixture.cs | 0 .../Moq.Tests/IsValueTypeFixture.cs | 0 .../Moq.Tests/ItIsAnyTypeFixture.cs | 0 .../Moq.Tests/Linq/MockRepositoryQuerying.cs | 0 .../Moq.Tests/Linq/QueryableMocksFixture.cs | 0 .../Moq.Tests/Linq/SupportedQuerying.cs | 0 .../Moq.Tests/Linq/UnsupportedQuerying.cs | 0 ...upOrFallbackDefaultValueProviderFixture.cs | 0 .../Moq.Tests/MatchExpressionFixture.cs | 0 {tests => src}/Moq.Tests/MatchFixture.cs | 0 .../Moq.Tests/MatcherAttributeFixture.cs | 0 .../Moq.Tests/MatcherObserverFixture.cs | 0 .../Moq.Tests/Matchers/AnyMatcherFixture.cs | 0 .../Matchers/ConstantMatcherFixture.cs | 0 .../IsAssignableFromVsIsOperatorFixture.cs | 0 .../Matchers/ParamArrayMatcherFixture.cs | 0 {tests => src}/Moq.Tests/Matchers/Wildcard.cs | 0 {tests => src}/Moq.Tests/MatchersFixture.cs | 0 .../Moq.Tests/MethodExpectationFixture.cs | 0 .../Moq.Tests/MockBehaviorFixture.cs | 0 .../MockDefaultValueProviderFixture.cs | 0 {tests => src}/Moq.Tests/MockFixture.cs | 0 .../Moq.Tests/MockRepositoryFixture.cs | 0 .../Moq.Tests/MockSequenceFixture.cs | 0 .../Moq.Tests/MockedDelegatesFixture.cs | 0 .../Moq.Tests/MockedEventsFixture.cs | 0 {tests => src}/Moq.Tests/MockedFixture.cs | 0 src/Moq.Tests/Moq.Tests.csproj | 61 ++++++ .../Moq.Tests/NestedTypeMatchersFixture.cs | 0 {tests => src}/Moq.Tests/OccurrenceFixture.cs | 0 {tests => src}/Moq.Tests/OutRefFixture.cs | 0 {tests => src}/Moq.Tests/PropertiesFixture.cs | 0 .../Moq.Tests/ProtectedAsMockFixture.cs | 0 .../Moq.Tests/ProtectedMockFixture.cs | 0 .../MostSpecificOverrideFixture.cs | 0 {tests => src}/Moq.Tests/RecordsFixture.cs | 0 .../Moq.Tests/RecursiveMocksFixture.cs | 0 .../Moq.Tests/ReflectionExtensions.cs | 0 .../Moq.Tests/Regressions/FluentMockIssues.cs | 0 .../Regressions/IssueReportsFixture.cs | 0 .../Moq.Tests/Regressions/StreamFixture.cs | 0 .../ReturnsDelegateValidationFixture.cs | 0 .../Moq.Tests/ReturnsExtensionsFixture.cs | 0 {tests => src}/Moq.Tests/ReturnsFixture.cs | 0 .../Moq.Tests/ReturnsValidationFixture.cs | 0 .../Moq.Tests/SequenceExtensionsFixture.cs | 0 .../SequentialActionExtensionsFixture.cs | 0 {tests => src}/Moq.Tests/SetupFixture.cs | 0 .../Moq.Tests/SetupTaskResultFixture.cs | 0 {tests => src}/Moq.Tests/SetupsFixture.cs | 0 .../StringBuilderExtensionsFixture.cs | 0 {tests => src}/Moq.Tests/StringExtensions.cs | 0 .../Moq.Tests/StubExtensionsFixture.cs | 0 {tests => src}/Moq.Tests/ThrowsFixture.cs | 0 {tests => src}/Moq.Tests/TimesFixture.cs | 0 .../Moq.Tests/TypeIsMockableFixture.cs | 0 .../Moq.Tests/UnmatchableMatchersFixture.cs | 0 .../Moq.Tests/VerifiableSetupFixture.cs | 0 {tests => src}/Moq.Tests/VerifyFixture.cs | 0 Moq.snk => src/Moq.snk | Bin src/Moq/Moq.csproj | 47 ++--- src/Moq/Properties/AssemblyInfo.cs | 5 - src/Moq/icon.png | Bin 0 -> 6829 bytes .../Moq.Tests.VisualBasic.vbproj | 19 -- tests/Moq.Tests/Moq.Tests.csproj | 58 ------ 146 files changed, 1164 insertions(+), 270 deletions(-) create mode 100644 .github/dependabot.yml create mode 100644 .github/release.yml create mode 100644 .github/workflows/build.yml create mode 100644 .github/workflows/changelog.config create mode 100644 .github/workflows/changelog.yml create mode 100644 .github/workflows/combine-prs.yml create mode 100644 .github/workflows/publish.yml create mode 100644 .github/workflows/test/action.yml delete mode 100644 Before.Moq.sln.targets delete mode 100644 Directory.Build.props create mode 100644 Directory.Build.rsp delete mode 100644 GitInfo.txt create mode 100644 _config.yml create mode 100644 assets/css/style.scss rename moq-bigger.png => assets/img/moq-bigger.png (100%) rename moq-icon.png => assets/img/moq-icon.png (100%) rename moq-small.png => assets/img/moq-small.png (100%) rename moq.png => assets/img/moq.png (100%) delete mode 100644 build/AssemblyInfo.props delete mode 100644 build/GitVersion.props delete mode 100644 build/SignAssembly.props delete mode 100644 build/SourceLink.props delete mode 100644 build/xUnit.props create mode 100644 src/Directory.Build.props create mode 100644 src/Directory.Build.targets create mode 100644 src/Directory.props rename {tests => src}/Moq.Tests.ComTypes/BuildDLLFromIDL.cmd (100%) rename {tests => src}/Moq.Tests.ComTypes/ComTypes.idl (100%) rename {tests => src}/Moq.Tests.ComTypes/Moq.Tests.ComTypes.dll (100%) rename {tests => src}/Moq.Tests.ComTypes/README.md (100%) rename {tests => src}/Moq.Tests.FSharpTypes/HasAbstractActionEvent.fs (100%) rename {tests => src}/Moq.Tests.FSharpTypes/HasAbstractEventHandlerEvent.fs (100%) rename {tests => src}/Moq.Tests.FSharpTypes/HasAbstractIndexer.fs (100%) rename {tests => src}/Moq.Tests.FSharpTypes/HasAbstractProperty.fs (100%) rename {tests => src}/Moq.Tests.FSharpTypes/HasActionEvent.fs (100%) rename {tests => src}/Moq.Tests.FSharpTypes/HasIndexer.fs (100%) rename {tests => src}/Moq.Tests.FSharpTypes/HasProperty.fs (100%) rename {tests => src}/Moq.Tests.FSharpTypes/IHasActionEvent.fs (100%) rename {tests => src}/Moq.Tests.FSharpTypes/IHasEventHandlerEvent.fs (100%) rename {tests => src}/Moq.Tests.FSharpTypes/IHasIndexer.fs (100%) rename {tests => src}/Moq.Tests.FSharpTypes/IHasProperty.fs (100%) rename {tests => src}/Moq.Tests.FSharpTypes/Moq.Tests.FSharpTypes.fsproj (66%) rename {tests => src}/Moq.Tests.VisualBasic/IssueReports.vb (100%) create mode 100644 src/Moq.Tests.VisualBasic/Moq.Tests.VisualBasic.vbproj rename {tests => src}/Moq.Tests/ActionObserverFixture.cs (100%) rename {tests => src}/Moq.Tests/AfterReturnCallbackDelegateValidationFixture.cs (100%) rename {tests => src}/Moq.Tests/AsInterfaceFixture.cs (100%) rename {tests => src}/Moq.Tests/Async/AwaitableFixture.cs (100%) rename {tests => src}/Moq.Tests/CSharpCompilerExpressionsFixture.cs (100%) rename {tests => src}/Moq.Tests/CallBaseDefaultInterfaceImplementationsFixture.cs (100%) rename {tests => src}/Moq.Tests/CallBaseFixture.cs (100%) rename {tests => src}/Moq.Tests/CallbackDelegateValidationFixture.cs (100%) rename {tests => src}/Moq.Tests/CallbacksFixture.cs (100%) rename {tests => src}/Moq.Tests/CaptureFixture.cs (100%) rename {tests => src}/Moq.Tests/CaptureMatchFixture.cs (100%) rename {tests => src}/Moq.Tests/ComCompatibilityFixture.cs (100%) rename {tests => src}/Moq.Tests/ConditionalSetupFixture.cs (100%) rename {tests => src}/Moq.Tests/CustomDefaultValueProviderFixture.cs (100%) rename {tests => src}/Moq.Tests/CustomMatcherFixture.cs (100%) rename {tests => src}/Moq.Tests/CustomTypeMatchersFixture.cs (100%) rename {tests => src}/Moq.Tests/DefaultValueProviderFixture.cs (100%) rename {tests => src}/Moq.Tests/Demo.cs (100%) rename {tests => src}/Moq.Tests/EmptyDefaultValueProviderFixture.cs (100%) rename {tests => src}/Moq.Tests/EventHandlerTypesMustMatchFixture.cs (100%) rename {tests => src}/Moq.Tests/EventHandlersFixture.cs (100%) rename {tests => src}/Moq.Tests/ExpressionExtensionsFixture.cs (100%) rename {tests => src}/Moq.Tests/ExpressionSplitFixture.cs (100%) rename {tests => src}/Moq.Tests/ExtensibilityFixture.cs (100%) rename {tests => src}/Moq.Tests/ExtensionsFixture.cs (100%) rename {tests => src}/Moq.Tests/FSharpCompatibilityFixture.cs (100%) rename {tests => src}/Moq.Tests/GeneratedReturnsExtensionsFixture.cs (100%) rename {tests => src}/Moq.Tests/HidePropertyFixture.cs (100%) rename {tests => src}/Moq.Tests/InterceptorFixture.cs (100%) rename {tests => src}/Moq.Tests/InvocationsFixture.cs (100%) rename {tests => src}/Moq.Tests/IsSubtypeFixture.cs (100%) rename {tests => src}/Moq.Tests/IsValueTypeFixture.cs (100%) rename {tests => src}/Moq.Tests/ItIsAnyTypeFixture.cs (100%) rename {tests => src}/Moq.Tests/Linq/MockRepositoryQuerying.cs (100%) rename {tests => src}/Moq.Tests/Linq/QueryableMocksFixture.cs (100%) rename {tests => src}/Moq.Tests/Linq/SupportedQuerying.cs (100%) rename {tests => src}/Moq.Tests/Linq/UnsupportedQuerying.cs (100%) rename {tests => src}/Moq.Tests/LookupOrFallbackDefaultValueProviderFixture.cs (100%) rename {tests => src}/Moq.Tests/MatchExpressionFixture.cs (100%) rename {tests => src}/Moq.Tests/MatchFixture.cs (100%) rename {tests => src}/Moq.Tests/MatcherAttributeFixture.cs (100%) rename {tests => src}/Moq.Tests/MatcherObserverFixture.cs (100%) rename {tests => src}/Moq.Tests/Matchers/AnyMatcherFixture.cs (100%) rename {tests => src}/Moq.Tests/Matchers/ConstantMatcherFixture.cs (100%) rename {tests => src}/Moq.Tests/Matchers/IsAssignableFromVsIsOperatorFixture.cs (100%) rename {tests => src}/Moq.Tests/Matchers/ParamArrayMatcherFixture.cs (100%) rename {tests => src}/Moq.Tests/Matchers/Wildcard.cs (100%) rename {tests => src}/Moq.Tests/MatchersFixture.cs (100%) rename {tests => src}/Moq.Tests/MethodExpectationFixture.cs (100%) rename {tests => src}/Moq.Tests/MockBehaviorFixture.cs (100%) rename {tests => src}/Moq.Tests/MockDefaultValueProviderFixture.cs (100%) rename {tests => src}/Moq.Tests/MockFixture.cs (100%) rename {tests => src}/Moq.Tests/MockRepositoryFixture.cs (100%) rename {tests => src}/Moq.Tests/MockSequenceFixture.cs (100%) rename {tests => src}/Moq.Tests/MockedDelegatesFixture.cs (100%) rename {tests => src}/Moq.Tests/MockedEventsFixture.cs (100%) rename {tests => src}/Moq.Tests/MockedFixture.cs (100%) create mode 100644 src/Moq.Tests/Moq.Tests.csproj rename {tests => src}/Moq.Tests/NestedTypeMatchersFixture.cs (100%) rename {tests => src}/Moq.Tests/OccurrenceFixture.cs (100%) rename {tests => src}/Moq.Tests/OutRefFixture.cs (100%) rename {tests => src}/Moq.Tests/PropertiesFixture.cs (100%) rename {tests => src}/Moq.Tests/ProtectedAsMockFixture.cs (100%) rename {tests => src}/Moq.Tests/ProtectedMockFixture.cs (100%) rename {tests => src}/Moq.Tests/ProxyFactories/MostSpecificOverrideFixture.cs (100%) rename {tests => src}/Moq.Tests/RecordsFixture.cs (100%) rename {tests => src}/Moq.Tests/RecursiveMocksFixture.cs (100%) rename {tests => src}/Moq.Tests/ReflectionExtensions.cs (100%) rename {tests => src}/Moq.Tests/Regressions/FluentMockIssues.cs (100%) rename {tests => src}/Moq.Tests/Regressions/IssueReportsFixture.cs (100%) rename {tests => src}/Moq.Tests/Regressions/StreamFixture.cs (100%) rename {tests => src}/Moq.Tests/ReturnsDelegateValidationFixture.cs (100%) rename {tests => src}/Moq.Tests/ReturnsExtensionsFixture.cs (100%) rename {tests => src}/Moq.Tests/ReturnsFixture.cs (100%) rename {tests => src}/Moq.Tests/ReturnsValidationFixture.cs (100%) rename {tests => src}/Moq.Tests/SequenceExtensionsFixture.cs (100%) rename {tests => src}/Moq.Tests/SequentialActionExtensionsFixture.cs (100%) rename {tests => src}/Moq.Tests/SetupFixture.cs (100%) rename {tests => src}/Moq.Tests/SetupTaskResultFixture.cs (100%) rename {tests => src}/Moq.Tests/SetupsFixture.cs (100%) rename {tests => src}/Moq.Tests/StringBuilderExtensionsFixture.cs (100%) rename {tests => src}/Moq.Tests/StringExtensions.cs (100%) rename {tests => src}/Moq.Tests/StubExtensionsFixture.cs (100%) rename {tests => src}/Moq.Tests/ThrowsFixture.cs (100%) rename {tests => src}/Moq.Tests/TimesFixture.cs (100%) rename {tests => src}/Moq.Tests/TypeIsMockableFixture.cs (100%) rename {tests => src}/Moq.Tests/UnmatchableMatchersFixture.cs (100%) rename {tests => src}/Moq.Tests/VerifiableSetupFixture.cs (100%) rename {tests => src}/Moq.Tests/VerifyFixture.cs (100%) rename Moq.snk => src/Moq.snk (100%) create mode 100644 src/Moq/icon.png delete mode 100644 tests/Moq.Tests.VisualBasic/Moq.Tests.VisualBasic.vbproj delete mode 100644 tests/Moq.Tests/Moq.Tests.csproj diff --git a/.editorconfig b/.editorconfig index be9f7c581..4cab270c3 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,29 +1,109 @@ -; EditorConfig to support per-solution formatting. -; Use the EditorConfig VS add-in to make this work. -; http://editorconfig.org/ +# EditorConfig is awesome:http://EditorConfig.org -; This is the default for the codeline. +# top-most EditorConfig file root = true +# Don't use tabs for indentation. [*] -end_of_line = CRLF +indent_style = space +# (Please don't specify an indent_size here; that has too many unintended consequences.) -[*.{cs,txt,md}] -indent_style = tab +# Code files +[*.{cs,csx,vb,vbx}] indent_size = 4 -[*.{sln,proj,csproj,fsproj,vbproj,props,targets,xml,xdoc,config,nuspec}] -indent_style = tab +# Xml project files +[*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj,msbuildproj,props,targets}] indent_size = 2 -[*.Designer.cs] -indent_style = space -indent_size = 4 +# Xml config files +[*.{ruleset,config,nuspec,resx,vsixmanifest,vsct}] +indent_size = 2 -[*.resx] -indent_style = space +# YAML files +[*.{yaml,yml}] indent_size = 2 -[appveyor.yml] -indent_style = space +# 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 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 + +# 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: + +# IDE0040: Add accessibility modifiers +dotnet_style_require_accessibility_modifiers = omit_if_default:error + +# IDE0040: Add accessibility modifiers +dotnet_diagnostic.IDE0040.severity = error + +[*.cs] +# Top-level files are definitely OK +csharp_using_directive_placement = outside_namespace:silent +csharp_style_namespace_declarations = block_scoped:silent +csharp_prefer_simple_using_statement = true:suggestion +csharp_prefer_braces = true:silent + +# 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 an expression-body +csharp_style_expression_bodied_methods = true:none +csharp_style_expression_bodied_constructors = true:none +csharp_style_expression_bodied_operators = true: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:error +csharp_style_pattern_matching_over_as_with_null_check = true:error +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 + +# Test settings +[**/*Tests*/**{.cs,.vb}] +# xUnit1013: Public method should be marked as test. Allows using records as test classes +dotnet_diagnostic.xUnit1013.severity = none + +# CS9113: Parameter is unread (usually, ITestOutputHelper) +dotnet_diagnostic.CS9113.severity = none + +# Default severity for analyzer diagnostics with category 'Style' +dotnet_analyzer_diagnostic.category-Style.severity = none + +# VSTHRD200: Use "Async" suffix for async methods +dotnet_diagnostic.VSTHRD200.severity = none diff --git a/.gitattributes b/.gitattributes index b4bc13442..7c375796c 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1,24 @@ -# Auto detect text files and perform LF normalization -* text=auto \ No newline at end of file +# sln, csproj files (and friends) are always CRLF, even on linux +*.sln text eol=crlf +*.proj text eol=crlf +*.csproj text eol=crlf + +# These are windows specific files which we may as well ensure are +# always crlf on checkout +*.bat text eol=crlf +*.cmd text eol=crlf + +# Opt in known filetypes to always normalize line endings on checkin +# and always use native endings on checkout +*.c text +*.config text +*.h text +*.cs text +*.md text +*.tt text +*.txt text + +# Some must always be checked out as lf so enforce that for those files +# If these are not lf then bash/cygwin on windows will not be able to +# excute the files +*.sh text eol=lf \ No newline at end of file diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..ec364b622 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,34 @@ +# Please see the documentation for all configuration options: +# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 +updates: +- package-ecosystem: nuget + directory: / + schedule: + interval: daily + groups: + Azure: + patterns: + - "Azure*" + - "Microsoft.Azure*" + System: + patterns: + - "System*" + Extensions: + patterns: + - "Microsoft.Extensions*" + Web: + patterns: + - "Microsoft.AspNetCore*" + Tests: + patterns: + - "Microsoft.NET.Tests*" + - "xunit*" + - "coverlet*" + ThisAssembly: + patterns: + - "ThisAssembly*" + ProtoBuf: + patterns: + - "protobuf-*" diff --git a/.github/release.yml b/.github/release.yml new file mode 100644 index 000000000..9a018cd4f --- /dev/null +++ b/.github/release.yml @@ -0,0 +1,32 @@ +changelog: + exclude: + labels: + - bydesign + - dependencies + - duplicate + - question + - invalid + - wontfix + - need info + - docs + - techdebt + authors: + - devlooped-bot + - dependabot + - github-actions + categories: + - title: ✨ Implemented enhancements + labels: + - enhancement + - title: πŸ› Fixed bugs + labels: + - bug + - title: πŸ“ Documentation updates + labels: + - docs + - title: πŸ”¨ Other + labels: + - '*' + exclude: + labels: + - dependencies diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 000000000..0480456b9 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,94 @@ +ο»Ώ# Builds and runs tests in all three supported OSes +# Pushes CI feed if secrets.SLEET_CONNECTION is provided + +name: build +on: + workflow_dispatch: + push: + branches: [ main, dev, 'dev/*', 'feature/*', 'rel/*' ] + paths-ignore: + - changelog.md + - code-of-conduct.md + - security.md + - support.md + - readme.md + pull_request: + types: [opened, synchronize, reopened] + +env: + DOTNET_NOLOGO: true + VersionPrefix: 42.42.${{ github.run_number }} + VersionLabel: ${{ github.ref }} + +defaults: + run: + shell: bash + +jobs: + os-matrix: + runs-on: ubuntu-latest + outputs: + matrix: ${{ steps.lookup.outputs.matrix }} + steps: + - name: 🀘 checkout + uses: actions/checkout@v2 + + - name: πŸ”Ž lookup + id: lookup + shell: pwsh + run: | + $path = './.github/workflows/os-matrix.json' + $os = if (test-path $path) { cat $path } else { '["ubuntu-latest"]' } + echo "matrix=$os" >> $env:GITHUB_OUTPUT + + build: + needs: os-matrix + name: build-${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: ${{ fromJSON(needs.os-matrix.outputs.matrix) }} + steps: + - name: 🀘 checkout + uses: actions/checkout@v2 + with: + submodules: recursive + fetch-depth: 0 + + - name: πŸ™ build + run: dotnet build -m:1 + + - name: βš™ GNU grep + if: matrix.os == 'macOS-latest' + run: | + brew install grep + echo 'export PATH="/usr/local/opt/grep/libexec/gnubin:$PATH"' >> .bash_profile + + - name: πŸ§ͺ test + uses: ./.github/workflows/test + + - name: πŸ“¦ pack + run: dotnet pack -m:1 + + # Only push CI package to sleet feed if building on ubuntu (fastest) + - name: πŸš€ sleet + env: + SLEET_CONNECTION: ${{ secrets.SLEET_CONNECTION }} + if: env.SLEET_CONNECTION != '' + run: | + dotnet tool install -g --version 4.0.18 sleet + sleet push bin --config none -f --verbose -p "SLEET_FEED_CONTAINER=nuget" -p "SLEET_FEED_CONNECTIONSTRING=${{ secrets.SLEET_CONNECTION }}" -p "SLEET_FEED_TYPE=azure" || echo "No packages found" + + dotnet-format: + runs-on: ubuntu-latest + steps: + - name: 🀘 checkout + uses: actions/checkout@v2 + with: + submodules: recursive + fetch-depth: 0 + + - name: βœ“ ensure format + run: | + dotnet format whitespace --verify-no-changes -v:diag --exclude ~/.nuget + dotnet format style --verify-no-changes -v:diag --exclude ~/.nuget diff --git a/.github/workflows/changelog.config b/.github/workflows/changelog.config new file mode 100644 index 000000000..cd34ee757 --- /dev/null +++ b/.github/workflows/changelog.config @@ -0,0 +1,9 @@ +usernames-as-github-logins=true +issues_wo_labels=true +pr_wo_labels=true +exclude-labels=bydesign,dependencies,duplicate,question,invalid,wontfix,need info,docs +enhancement-label=:sparkles: Implemented enhancements: +bugs-label=:bug: Fixed bugs: +issues-label=:hammer: Other: +pr-label=:twisted_rightwards_arrows: Merged: +unreleased=false diff --git a/.github/workflows/changelog.yml b/.github/workflows/changelog.yml new file mode 100644 index 000000000..b120b7360 --- /dev/null +++ b/.github/workflows/changelog.yml @@ -0,0 +1,39 @@ +ο»Ώname: changelog +on: + workflow_dispatch: + release: + types: [released] + +jobs: + changelog: + runs-on: ubuntu-latest + steps: + - name: πŸ€– defaults + uses: devlooped/actions-bot@v1 + with: + name: ${{ secrets.BOT_NAME }} + email: ${{ secrets.BOT_EMAIL }} + gh_token: ${{ secrets.GH_TOKEN }} + github_token: ${{ secrets.GITHUB_TOKEN }} + + - name: 🀘 checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + ref: main + token: ${{ env.GH_TOKEN }} + + - name: βš™ ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: 3.0.3 + + - name: βš™ changelog + run: | + gem install github_changelog_generator + github_changelog_generator --user ${GITHUB_REPOSITORY%/*} --project ${GITHUB_REPOSITORY##*/} --token $GH_TOKEN --o changelog.md --config-file .github/workflows/changelog.config + + - name: πŸš€ changelog + run: | + git add changelog.md + (git commit -m "πŸ–‰ Update changelog with ${GITHUB_REF#refs/*/}" && git push) || echo "Done" \ No newline at end of file diff --git a/.github/workflows/combine-prs.yml b/.github/workflows/combine-prs.yml new file mode 100644 index 000000000..0255974f2 --- /dev/null +++ b/.github/workflows/combine-prs.yml @@ -0,0 +1,157 @@ +# Source: https://github.com/hrvey/combine-prs-workflow +# Tweaks: regex support for branch + +name: 'β›™ combine-prs' + +on: + workflow_dispatch: + inputs: + branchExpression: + description: 'Regular expression to match against PR branches to find combinable PRs' + required: true + default: 'dependabot' + mustBeGreen: + description: 'Only combine PRs that are green (status is success)' + required: true + default: true + combineTitle: + description: 'Title of the combined PR' + required: true + default: '⬆️ Bump dependencies' + combineBranchName: + description: 'Name of the branch to combine PRs into' + required: true + default: 'combine-prs' + ignoreLabel: + description: 'Exclude PRs with this label' + required: true + default: 'nocombine' + +jobs: + combine-prs: + name: ${{ github.event.inputs.combineBranchName }} + runs-on: ubuntu-latest + steps: + - uses: actions/github-script@v6 + with: + github-token: ${{secrets.GITHUB_TOKEN}} + script: | + const pulls = await github.paginate('GET /repos/:owner/:repo/pulls', { + owner: context.repo.owner, + repo: context.repo.repo + }); + const branchRegExp = new RegExp(`${{github.event.inputs.branchExpression}}`); + let branchesAndPRStrings = []; + let baseBranch = null; + let baseBranchSHA = null; + for (const pull of pulls) { + const branch = pull['head']['ref']; + console.log('Pull for branch: ' + branch); + if (branchRegExp.test(branch)) { + console.log('Branch matched: ' + branch); + let statusOK = true; + if(${{ github.event.inputs.mustBeGreen }}) { + console.log('Checking green status: ' + branch); + const stateQuery = `query($owner: String!, $repo: String!, $pull_number: Int!) { + repository(owner: $owner, name: $repo) { + pullRequest(number:$pull_number) { + commits(last: 1) { + nodes { + commit { + statusCheckRollup { + state + } + } + } + } + } + } + }` + const vars = { + owner: context.repo.owner, + repo: context.repo.repo, + pull_number: pull['number'] + }; + const result = await github.graphql(stateQuery, vars); + const [{ commit }] = result.repository.pullRequest.commits.nodes; + const state = commit.statusCheckRollup.state + console.log('Validating status: ' + state); + if(state != 'SUCCESS') { + console.log('Discarding ' + branch + ' with status ' + state); + statusOK = false; + } + } + console.log('Checking labels: ' + branch); + const labels = pull['labels']; + for(const label of labels) { + const labelName = label['name']; + console.log('Checking label: ' + labelName); + if(labelName == '${{ github.event.inputs.ignoreLabel }}') { + console.log('Discarding ' + branch + ' with label ' + labelName); + statusOK = false; + } + } + if (statusOK) { + console.log('Adding branch to array: ' + branch); + const prString = '#' + pull['number'] + ' ' + pull['title']; + branchesAndPRStrings.push({ branch, prString }); + baseBranch = pull['base']['ref']; + baseBranchSHA = pull['base']['sha']; + } + } + } + if (branchesAndPRStrings.length == 0) { + core.setFailed('No PRs/branches matched criteria'); + return; + } + if (branchesAndPRStrings.length == 1) { + core.setFailed('Only one PR/branch matched criteria'); + return; + } + + try { + await github.rest.git.createRef({ + owner: context.repo.owner, + repo: context.repo.repo, + ref: 'refs/heads/' + '${{ github.event.inputs.combineBranchName }}', + sha: baseBranchSHA + }); + } catch (error) { + console.log(error); + core.setFailed('Failed to create combined branch - maybe a branch by that name already exists?'); + return; + } + + let combinedPRs = []; + let mergeFailedPRs = []; + for(const { branch, prString } of branchesAndPRStrings) { + try { + await github.rest.repos.merge({ + owner: context.repo.owner, + repo: context.repo.repo, + base: '${{ github.event.inputs.combineBranchName }}', + head: branch, + }); + console.log('Merged branch ' + branch); + combinedPRs.push(prString); + } catch (error) { + console.log('Failed to merge branch ' + branch); + mergeFailedPRs.push(prString); + } + } + + console.log('Creating combined PR'); + const combinedPRsString = combinedPRs.join('\n'); + let body = 'β›™ Combined PRs:\n' + combinedPRsString; + if(mergeFailedPRs.length > 0) { + const mergeFailedPRsString = mergeFailedPRs.join('\n'); + body += '\n\n⚠️ The following PRs were left out due to merge conflicts:\n' + mergeFailedPRsString + } + await github.rest.pulls.create({ + owner: context.repo.owner, + repo: context.repo.repo, + title: 'β›™ ${{github.event.inputs.combineTitle}}', + head: '${{ github.event.inputs.combineBranchName }}', + base: baseBranch, + body: body + }); diff --git a/.github/workflows/includes.yml b/.github/workflows/includes.yml index b806653f7..bb1a90b06 100644 --- a/.github/workflows/includes.yml +++ b/.github/workflows/includes.yml @@ -26,7 +26,7 @@ jobs: token: ${{ env.GH_TOKEN }} - name: +Mᐁ includes - uses: devlooped/actions-include@v1 + uses: devlooped/actions-includes@v1 - name: ✍ pull request uses: peter-evans/create-pull-request@v4 diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 000000000..bd83ada82 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,34 @@ +ο»Ώ# Builds a final release version and pushes to nuget.org +# whenever a release is published. +# Requires: secrets.NUGET_API_KEY + +name: publish +on: + release: + types: [released] + +env: + DOTNET_NOLOGO: true + Configuration: Release + +jobs: + publish: + runs-on: ubuntu-latest + steps: + - name: 🀘 checkout + uses: actions/checkout@v2 + with: + submodules: recursive + fetch-depth: 0 + + - name: πŸ™ build + run: dotnet build -m:1 -p:version=${GITHUB_REF#refs/*/v} + + - name: πŸ§ͺ test + uses: ./.github/workflows/test + + - name: πŸ“¦ pack + run: dotnet pack -m:1 -p:version=${GITHUB_REF#refs/*/v} + + - name: πŸš€ nuget + run: dotnet nuget push ./bin/**/*.nupkg -s https://api.nuget.org/v3/index.json -k ${{secrets.NUGET_API_KEY}} --skip-duplicate diff --git a/.github/workflows/test/action.yml b/.github/workflows/test/action.yml new file mode 100644 index 000000000..4a7dbae33 --- /dev/null +++ b/.github/workflows/test/action.yml @@ -0,0 +1,36 @@ +name: test +description: runs dotnet tests with retry +runs: + using: "composite" + steps: + - name: πŸ§ͺ test + shell: bash --noprofile --norc {0} + env: + LC_ALL: en_US.utf8 + run: | + [ -f .bash_profile ] && source .bash_profile + counter=0 + exitcode=0 + reset="\e[0m" + warn="\e[0;33m" + while [ $counter -lt 6 ] + do + # run test and forward output also to a file in addition to stdout (tee command) + if [ $filter ] + then + echo -e "${warn}Retry $counter for $filter ${reset}" + dotnet test --no-build -m:1 --blame-hang --blame-hang-timeout 5m --filter=$filter | tee ./output.log + else + dotnet test --no-build -m:1 --blame-hang --blame-hang-timeout 5m | tee ./output.log + fi + # capture dotnet test exit status, different from tee + exitcode=${PIPESTATUS[0]} + if [ $exitcode == 0 ] + then + exit 0 + fi + # cat output, get failed test names, remove trailing whitespace, sort+dedupe, join as FQN~TEST with |, remove trailing |. + filter=$(cat ./output.log | grep -o -P '(?<=\sFailed\s)[\w\._]*' | sed 's/ *$//g' | sort -u | awk 'BEGIN { ORS="|" } { print("FullyQualifiedName~" $0) }' | grep -o -P '.*(?=\|$)') + ((counter++)) + done + exit $exitcode diff --git a/.gitignore b/.gitignore index 0f7dd1ba4..0c18de793 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,35 @@ -out bin +app obj +artifacts +pack +TestResults +.vs +.vscode +.idea + *.suo +*.sdf +*.userprefs *.user +*.nupkg +*.metaproj +*.tmp +*.log *.cache -.vs -*/**/.* +*.binlog +*.zip +__azurite*.* +__*__ + +.nuget +*.lock.json +*.nuget.props +*.nuget.targets + +node_modules +_site +.jekyll-metadata +.jekyll-cache +Gemfile.lock +package-lock.json diff --git a/.netconfig b/.netconfig index bc9b18c11..46a44b6ff 100644 --- a/.netconfig +++ b/.netconfig @@ -1,7 +1,7 @@ [file ".github/workflows/includes.yml"] url = https://github.com/devlooped/oss/blob/main/.github/workflows/includes.yml - sha = f08c3f28e46e28eb31e70846d65e57aa9553ce56 - etag = 884175b3f80b39edc1a23c6a34d58aa3c481432d4f20938f9a834dd918ef283d + sha = ac753b791d03997eb655efb26ae141b51addd1c0 + etag = fcd94a08ac9ebc0e8351deac4e7f085cf8ef67816cc50006e068f44166096eb8 weak [file ".github/workflows/dotnet-file.yml"] url = https://github.com/devlooped/oss/blob/main/.github/workflows/dotnet-file.yml @@ -18,3 +18,100 @@ sha = 8990ebb36199046e0b8098bad9e46dcef739c56e etag = e1dc114d2e8b57d50649989d32dbf0c9080ec77da3738a4cc79e9256d6ca5d3e weak +[file] + url = https://github.com/devlooped/oss +[file ".netconfig"] + url = https://github.com/devlooped/oss/blob/main/.netconfig + skip +[file "readme.md"] + url = https://github.com/devlooped/oss/blob/main/readme.md + skip +[file ".editorconfig"] + url = https://github.com/devlooped/oss/blob/main/.editorconfig + sha = c779d3d4e468358106dea03e93ba2cd35bb01ecb + etag = 7298c6450967975a8782b5c74f3071e1910fc59686e48f9c9d5cd7c68213cf59 + weak +[file ".gitattributes"] + url = https://github.com/devlooped/oss/blob/main/.gitattributes + sha = 0683ee777d7d878d4bf013d7deea352685135a05 + etag = 7acb32f5fa6d4ccd9c824605a7c2b8538497f0068c165567807d393dcf4d6bb7 + weak +[file ".github/dependabot.yml"] + url = https://github.com/devlooped/oss/blob/main/.github/dependabot.yml + sha = cba10bbf7bb08d841d2ddc990b67bc3f2c58fba0 + etag = fc84e2bb7a348609b75bb20145333306e2030083c6929edcc4f675907b8c52ad + weak +[file ".github/release.yml"] + url = https://github.com/devlooped/oss/blob/main/.github/release.yml + sha = 1afd173fe8f81b510c597737b0d271218e81fa73 + etag = 482dc2c892fc7ce0cb3a01eb5d9401bee50ddfb067d8cb85873555ce63cf5438 + weak +[file ".github/workflows/build.yml"] + url = https://github.com/devlooped/oss/blob/main/.github/workflows/build.yml + sha = 13d67e2cf3f786c8189364fd29332aaa7dc575dc + etag = c616df0877fba60002ccfc0397e9f731ddb22acbbb195a0598fedd4cac5f3135 + weak +[file ".github/workflows/changelog.config"] + url = https://github.com/devlooped/oss/blob/main/.github/workflows/changelog.config + sha = 055a8b7c94b74ae139cce919d60b83976d2a9942 + etag = ddb17acb5872e9e69a76f9dec0ca590f25382caa2ccf750df058dcabb674db2b + weak +[file ".github/workflows/changelog.yml"] + url = https://github.com/devlooped/oss/blob/main/.github/workflows/changelog.yml + sha = a4b66eb5f4dfb9704502f19f59ba33cb4855188c + etag = 54c0b571648b1055beb3ddac180b34e93a9869b9f0277de306901b2c1dbe0b2c + weak +[file ".github/workflows/combine-prs.yml"] + url = https://github.com/devlooped/oss/blob/main/.github/workflows/combine-prs.yml + sha = c1610886eba42cb250e3894aed40c0a258cd383d + etag = 598ee294649a44d4c5d5934416c01183597d08aa7db7938453fd2bbf52a4e64d + weak +[file ".github/workflows/publish.yml"] + url = https://github.com/devlooped/oss/blob/main/.github/workflows/publish.yml + sha = d3022567c9ef2bc9461511e53b8abe065afdf03b + etag = 58601b5a71c805647ab26e84053acdfb8d174eaa93330487af8a5503753c5707 + weak +[file ".github/workflows/test/action.yml"] + url = https://github.com/devlooped/oss/blob/main/.github/workflows/test/action.yml + sha = 9a1b07589b9bde93bc12528e9325712a32dec418 + etag = b54216ac431a83ce5477828d391f02046527e7f6fffd21da1d03324d352c3efb + weak +[file ".gitignore"] + url = https://github.com/devlooped/oss/blob/main/.gitignore + sha = b87a8a795a4c2b6830602225c066c11108552a99 + etag = 96e0860052044780f1fc9e3bdfbee09d82d5dddb8b1217d67460fc7330a64dd8 + weak +[file "Directory.Build.rsp"] + url = https://github.com/devlooped/oss/blob/main/Directory.Build.rsp + sha = ae25fae9d7daf0cb47d537ba870914aa3052f0c9 + etag = 6a6c6e1d3895df953abf14c82b0899e3eea75cdcd679f6212dcfea15183d73d6 + weak +[file "_config.yml"] + url = https://github.com/devlooped/oss/blob/main/_config.yml + sha = fa83a5161ba52bc5d510ce0ba75ee0b1f8d4bc63 + etag = 9139148f845adf503fd3c3c140eb64421fc476a1f9c027fc50825c0efb05f557 + weak +[file "assets/css/style.scss"] + url = https://github.com/devlooped/oss/blob/main/assets/css/style.scss + sha = 9db26e2710b084d219d6355339d822f159bf5780 + etag = f710d8919abfd5a8d00050b74ba7d0bb05c6d02e40842a3012eb96555c208504 + weak +[file "license.txt"] + url = https://github.com/devlooped/oss/blob/main/license.txt + skip +[file "src/Directory.Build.props"] + url = https://github.com/devlooped/oss/blob/main/src/Directory.Build.props + sha = 6ae80a175a8f926ac5d9ffb0f6afd55d85cc9320 + etag = 69d4b16c14d5047b3ed812dbf556b0b8d77deb86f73af04b9bd3640220056fa8 + weak +[file "src/Directory.Build.targets"] + url = https://github.com/devlooped/oss/blob/main/src/Directory.Build.targets + sha = 1514d15399a7d545ad92a0e9d57dc8295fdd6af8 + etag = 428f80b0786ff17b836c7a5b0640948724855d17933e958642b22849ac00dadb + weak +[file "src/kzu.snk"] + url = https://github.com/devlooped/oss/blob/main/src/kzu.snk + skip +[file "src/nuget.config"] + url = https://github.com/devlooped/oss/blob/main/src/nuget.config + skip diff --git a/Before.Moq.sln.targets b/Before.Moq.sln.targets deleted file mode 100644 index ebca5240d..000000000 --- a/Before.Moq.sln.targets +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f48ff339a..c79d0f448 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -3,13 +3,6 @@ Moq welcomes your contributions! :heart: -## A quick word about the upcoming next major version of Moq (v5) - -The next major version of Moq is currently in active development (over at the [moq/moq](https://github.com/moq/moq) repository). Because of this, we are somewhat hesitant about big API changes in Moq v4. The plan for v5 is to have an API very similar to Moq v4 (to make migration easy). Therefore, any radical changes in v4 might have to be reproduced in v5, which costs additional time. - -For this reason, the main (but not sole!) focus at this repository (v4) is on bug fixing, improving stability, and performance. That being said, small additions stand a good chance of getting in if they seem generally useful. - - ## Asking usage questions This repository's focus is on the development of Moq (i.e. fixing bugs and improving features; see above). Because the Moq team is rather small, our resources to answer usage questions is very limited. You might be better off asking usage questions over at [Stack Overflow](https://stackoverflow.com) as your question will meet with a much larger audience. Please observe SO's rules and etiquette, and tag your question with `moq`. @@ -17,9 +10,9 @@ This repository's focus is on the development of Moq (i.e. fixing bugs and impro ## Submitting a bug report (as an issue) -If you think you've found a bug, please start by searching [the changelog](https://github.com/moq/moq4/blob/main/CHANGELOG.md) and [GitHub issues](https://github.com/moq/moq4/issues) (both open and closed ones!) to see if the problem has already been addressed or documented in any way. +If you think you've found a bug, please start by searching [the changelog](https://github.com/moq/moq/blob/main/CHANGELOG.md) and [GitHub issues](https://github.com/moq/moq/issues) (both open and closed ones!) to see if the problem has already been addressed or documented in any way. -If you find nothing of relevance, [open a new issue](https://github.com/moq/moq4/issues/new). +If you find nothing of relevance, [open a new issue](https://github.com/moq/moq/issues/new). **What to include:** Try to include the following information in it: diff --git a/Directory.Build.props b/Directory.Build.props deleted file mode 100644 index 304a15010..000000000 --- a/Directory.Build.props +++ /dev/null @@ -1,15 +0,0 @@ - - - - $(MSBuildThisFileDirectory) - $(RootDirectory)build\ - $(RootDirectory)out\ - Release - - - - - - - - diff --git a/Directory.Build.rsp b/Directory.Build.rsp new file mode 100644 index 000000000..7c0dbc1ec --- /dev/null +++ b/Directory.Build.rsp @@ -0,0 +1,5 @@ +# See https://docs.microsoft.com/en-us/visualstudio/msbuild/msbuild-response-files +-nr:false +-m:1 +-v:m +-clp:Summary;ForceNoAlign \ No newline at end of file diff --git a/GitInfo.txt b/GitInfo.txt deleted file mode 100644 index df66f9557..000000000 --- a/GitInfo.txt +++ /dev/null @@ -1 +0,0 @@ -4.18.4 diff --git a/Moq.sln b/Moq.sln index 3b630c3d8..b7a59c07a 100644 --- a/Moq.sln +++ b/Moq.sln @@ -1,24 +1,25 @@ Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.27004.2002 +# Visual Studio Version 17 +VisualStudioVersion = 17.7.33913.275 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{A5A5B8C3-D43F-43C6-AEC7-6FA7C35B8BE9}" ProjectSection(SolutionItems) = preProject + .netconfig = .netconfig appveyor.yml = appveyor.yml CHANGELOG.md = CHANGELOG.md CONTRIBUTING.md = CONTRIBUTING.md - GitInfo.txt = GitInfo.txt + src\Directory.props = src\Directory.props License.txt = License.txt README.md = README.md EndProjectSection EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Moq", "src\Moq\Moq.csproj", "{1C91AC30-5977-4BE5-BA67-8EB186C03514}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Moq.Tests", "tests\Moq.Tests\Moq.Tests.csproj", "{81BBC911-4916-4E10-A955-752AE47CB2B9}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Moq.Tests", "src\Moq.Tests\Moq.Tests.csproj", "{81BBC911-4916-4E10-A955-752AE47CB2B9}" EndProject -Project("{778DAE3C-4631-46EA-AA77-85C1314464D9}") = "Moq.Tests.VisualBasic", "tests\Moq.Tests.VisualBasic\Moq.Tests.VisualBasic.vbproj", "{840A8B2E-3D4B-4521-A61A-0291562CDC8B}" +Project("{778DAE3C-4631-46EA-AA77-85C1314464D9}") = "Moq.Tests.VisualBasic", "src\Moq.Tests.VisualBasic\Moq.Tests.VisualBasic.vbproj", "{840A8B2E-3D4B-4521-A61A-0291562CDC8B}" EndProject -Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Moq.Tests.FSharpTypes", "tests\Moq.Tests.FSharpTypes\Moq.Tests.FSharpTypes.fsproj", "{2D9EE4E0-8433-4F9C-A330-C4D74B956E0B}" +Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "Moq.Tests.FSharpTypes", "src\Moq.Tests.FSharpTypes\Moq.Tests.FSharpTypes.fsproj", "{2D9EE4E0-8433-4F9C-A330-C4D74B956E0B}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/_config.yml b/_config.yml new file mode 100644 index 000000000..a61f7e0bf --- /dev/null +++ b/_config.yml @@ -0,0 +1,3 @@ +theme: jekyll-theme-slate + +exclude: [ 'src/', '*.sln', 'Gemfile*', '*.rsp' ] \ No newline at end of file diff --git a/assets/css/style.scss b/assets/css/style.scss new file mode 100644 index 000000000..5e165a3ca --- /dev/null +++ b/assets/css/style.scss @@ -0,0 +1,26 @@ +--- +--- + +@import "jekyll-theme-slate"; + +.inner { + max-width: 960px; +} + +pre, code { + background-color: unset; + font-size: unset; +} + + code { + font-size: 0.80em; +} + +h1 > img { + border: unset; + box-shadow: unset; + vertical-align: middle; + -moz-box-shadow: unset; + -o-box-shadow: unset; + -ms-box-shadow: unset; +} diff --git a/moq-bigger.png b/assets/img/moq-bigger.png similarity index 100% rename from moq-bigger.png rename to assets/img/moq-bigger.png diff --git a/moq-icon.png b/assets/img/moq-icon.png similarity index 100% rename from moq-icon.png rename to assets/img/moq-icon.png diff --git a/moq-small.png b/assets/img/moq-small.png similarity index 100% rename from moq-small.png rename to assets/img/moq-small.png diff --git a/moq.png b/assets/img/moq.png similarity index 100% rename from moq.png rename to assets/img/moq.png diff --git a/build/AssemblyInfo.props b/build/AssemblyInfo.props deleted file mode 100644 index 9899c3eda..000000000 --- a/build/AssemblyInfo.props +++ /dev/null @@ -1,11 +0,0 @@ - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - True - $(MSBuildProjectName) - Moq - Clarius Consulting, Manas Technology Solutions, InSTEDD, and Contributors - - - diff --git a/build/GitVersion.props b/build/GitVersion.props deleted file mode 100644 index 78ae6e9e5..000000000 --- a/build/GitVersion.props +++ /dev/null @@ -1,30 +0,0 @@ - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - True - True - False - - - - - - - - - $(GitBaseVersionMajor).$(GitBaseVersionMinor).0.0 - $(GitBaseVersionMajor).$(GitBaseVersionMinor).$(GitBaseVersionPatch).$(GitCommits) - $(GitBaseVersionMajor).$(GitBaseVersionMinor).$(GitBaseVersionPatch)$(GitSemVerDashLabel)+sha.$(GitCommit) - $(GitBaseVersionMajor).$(GitBaseVersionMinor).$(GitBaseVersionPatch).$(GitCommits)$(GitSemVerDashLabel)+sha.$(GitCommit) - - - - - - $(GitSemVerMajor).$(GitSemVerMinor).$(GitSemVerPatch)$(GitSemVerDashLabel) - configuration=$(Configuration);version=$(PackageVersion) - - - - diff --git a/build/SignAssembly.props b/build/SignAssembly.props deleted file mode 100644 index 732e172fd..000000000 --- a/build/SignAssembly.props +++ /dev/null @@ -1,11 +0,0 @@ - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - True - False - False - $(RootDirectory)Moq.snk - - - diff --git a/build/SourceLink.props b/build/SourceLink.props deleted file mode 100644 index e36e2b217..000000000 --- a/build/SourceLink.props +++ /dev/null @@ -1,12 +0,0 @@ - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - True - - - - - - - diff --git a/build/xUnit.props b/build/xUnit.props deleted file mode 100644 index 3872eb94f..000000000 --- a/build/xUnit.props +++ /dev/null @@ -1,18 +0,0 @@ - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - - - - - - - - - - - - diff --git a/src/Directory.Build.props b/src/Directory.Build.props new file mode 100644 index 000000000..6b9a668f1 --- /dev/null +++ b/src/Directory.Build.props @@ -0,0 +1,146 @@ + + + + + false + + true + + + + + $(CI) + + + + Daniel Cazzulino + Copyright (C) Daniel Cazzulino and Contributors. All rights reserved. + false + MIT + + + icon.png + readme.md + + icon.png + readme.md + + true + true + + $([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)..\bin')) + + + true + + + true + + + + Release + true + false + Latest + + + false + + embedded + true + enable + + strict + + + $(MSBuildProjectName) + $(MSBuildProjectName.IndexOf('.')) + $(MSBuildProjectName.Substring(0, $(RootNamespaceDot))) + + + $(DefaultItemExcludes);*.binlog;*.zip;*.rsp;*.items;**/TestResults/**/*.* + + true + true + true + true + + + true + + + false + + + NU5105;$(NoWarn) + + true + + + true + + + LatestMinor + + + + + $(MSBuildThisFileDirectory)kzu.snk + + 002400000480000094000000060200000024000052534131000400000100010051155fd0ee280be78d81cc979423f1129ec5dd28edce9cd94fd679890639cad54c121ebdb606f8659659cd313d3b3db7fa41e2271158dd602bb0039a142717117fa1f63d93a2d288a1c2f920ec05c4858d344a45d48ebd31c1368ab783596b382b611d8c92f9c1b3d338296aa21b12f3bc9f34de87756100c172c52a24bad2db + 00352124762f2aa5 + true + + + + + 42.42.42 + + + + <_VersionLabel>$(VersionLabel.Replace('refs/heads/', '')) + + <_VersionLabel Condition="$(_VersionLabel.Contains('refs/pull/'))">$(VersionLabel.TrimEnd('.0123456789')) + + <_VersionLabel>$(_VersionLabel.Replace('refs/pull/', 'pr')) + + <_VersionLabel>$(_VersionLabel.Replace('/merge', '')) + + <_VersionLabel>$(_VersionLabel.Replace('/', '-')) + + + $(_VersionLabel) + + + + + + + + + + + + + + + + diff --git a/src/Directory.Build.targets b/src/Directory.Build.targets new file mode 100644 index 000000000..5bd401967 --- /dev/null +++ b/src/Directory.Build.targets @@ -0,0 +1,178 @@ + + + + + CI;$(DefineConstants) + + + + true + true + + + + + false + true + + + + + + + + + + + + + + + + + + + 1.0.0 + $(VersionPrefix)-$(VersionSuffix) + $(VersionPrefix) + + + + + $(PackFolder) + $(PackFolderPath.Replace('\$(TargetFramework)', '')) + $(IntermediateOutputPath)$(PackFolderPath)\ + $(OutputPath)$(PackFolderPath)\ + $(OutputPath) + + + + + pr$(GITHUB_REF.Replace('refs/pull/', '').Replace('/merge', '')) + $(GITHUB_REF.Replace('refs/heads/', '').Replace('refs/tags/', '')) + + $(BUILD_SOURCEBRANCH.Replace('refs/heads/', '').Replace('refs/tags/', '')) + + pr$(APPVEYOR_PULL_REQUEST_NUMBER) + $(APPVEYOR_REPO_TAG_NAME) + $(APPVEYOR_REPO_BRANCH) + + $(TEAMCITY_BUILD_BRANCH) + + pr$(TRAVIS_PULL_REQUEST) + $(TRAVIS_BRANCH) + + pr$(CIRCLE_PR_NUMBER) + $(CIRCLE_TAG) + $(CIRCLE_BRANCH) + + $(CI_COMMIT_TAG) + pr$(CI_MERGE_REQUEST_IID) + pr$(CI_EXTERNAL_PULL_REQUEST_IID) + $(CI_COMMIT_BRANCH) + + pr$(BUDDY_EXECUTION_PULL_REQUEST_NO) + $(BUDDY_EXECUTION_TAG) + $(BUDDY_EXECUTION_BRANCH) + + + + + PrepareResources;$(CoreCompileDependsOn) + + + + + + + + + + MSBuild:Compile + $(IntermediateOutputPath)\$([MSBuild]::ValueOrDefault('%(RelativeDir)', '').Replace('\', '.').Replace('/', '.'))%(Filename).g$(DefaultLanguageSourceExtension) + $(Language) + $(RootNamespace) + $(RootNamespace).$([MSBuild]::ValueOrDefault('%(RelativeDir)', '').Replace('\', '.').Replace('/', '.').TrimEnd('.')) + %(Filename) + + + + + + + + + + + + + + + + + + + + + + + + $(PrivateRepositoryUrl) + + + + $(SourceRevisionId) + $(SourceRevisionId.Substring(0, 9)) + + $(RepositorySha) + + + + + <_GitSourceRoot Include="@(SourceRoot -> WithMetadataValue('SourceControl', 'git'))" /> + + + + @(_GitSourceRoot) + + + + + + + $(RepositoryUrl) + $(Description) + $(RepositoryUrl)/blob/main/changelog.md + + + + + + + + diff --git a/src/Directory.props b/src/Directory.props new file mode 100644 index 000000000..773b531fb --- /dev/null +++ b/src/Directory.props @@ -0,0 +1,13 @@ + + + + annotations + Moq + Clarius Consulting, Manas Technology Solutions, InSTEDD, and Contributors + $(MSBuildThisFileDirectory)Moq.snk + true + 00240000048000009400000006020000002400005253413100040000010001009f7a95086500f8f66d892174803850fed9c22225c2ccfff21f39c8af8abfa5415b1664efd0d8e0a6f7f2513b1c11659bd84723dc7900c3d481b833a73a2bcf1ed94c16c4be64d54352c86956c89930444e9ac15124d3693e3f029818e8410f167399d6b995324b635e95353ba97bfab856abbaeb9b40c9b160070c6325e22ddc + 69f491c39445e920 + + + diff --git a/tests/Moq.Tests.ComTypes/BuildDLLFromIDL.cmd b/src/Moq.Tests.ComTypes/BuildDLLFromIDL.cmd similarity index 100% rename from tests/Moq.Tests.ComTypes/BuildDLLFromIDL.cmd rename to src/Moq.Tests.ComTypes/BuildDLLFromIDL.cmd diff --git a/tests/Moq.Tests.ComTypes/ComTypes.idl b/src/Moq.Tests.ComTypes/ComTypes.idl similarity index 100% rename from tests/Moq.Tests.ComTypes/ComTypes.idl rename to src/Moq.Tests.ComTypes/ComTypes.idl diff --git a/tests/Moq.Tests.ComTypes/Moq.Tests.ComTypes.dll b/src/Moq.Tests.ComTypes/Moq.Tests.ComTypes.dll similarity index 100% rename from tests/Moq.Tests.ComTypes/Moq.Tests.ComTypes.dll rename to src/Moq.Tests.ComTypes/Moq.Tests.ComTypes.dll diff --git a/tests/Moq.Tests.ComTypes/README.md b/src/Moq.Tests.ComTypes/README.md similarity index 100% rename from tests/Moq.Tests.ComTypes/README.md rename to src/Moq.Tests.ComTypes/README.md diff --git a/tests/Moq.Tests.FSharpTypes/HasAbstractActionEvent.fs b/src/Moq.Tests.FSharpTypes/HasAbstractActionEvent.fs similarity index 100% rename from tests/Moq.Tests.FSharpTypes/HasAbstractActionEvent.fs rename to src/Moq.Tests.FSharpTypes/HasAbstractActionEvent.fs diff --git a/tests/Moq.Tests.FSharpTypes/HasAbstractEventHandlerEvent.fs b/src/Moq.Tests.FSharpTypes/HasAbstractEventHandlerEvent.fs similarity index 100% rename from tests/Moq.Tests.FSharpTypes/HasAbstractEventHandlerEvent.fs rename to src/Moq.Tests.FSharpTypes/HasAbstractEventHandlerEvent.fs diff --git a/tests/Moq.Tests.FSharpTypes/HasAbstractIndexer.fs b/src/Moq.Tests.FSharpTypes/HasAbstractIndexer.fs similarity index 100% rename from tests/Moq.Tests.FSharpTypes/HasAbstractIndexer.fs rename to src/Moq.Tests.FSharpTypes/HasAbstractIndexer.fs diff --git a/tests/Moq.Tests.FSharpTypes/HasAbstractProperty.fs b/src/Moq.Tests.FSharpTypes/HasAbstractProperty.fs similarity index 100% rename from tests/Moq.Tests.FSharpTypes/HasAbstractProperty.fs rename to src/Moq.Tests.FSharpTypes/HasAbstractProperty.fs diff --git a/tests/Moq.Tests.FSharpTypes/HasActionEvent.fs b/src/Moq.Tests.FSharpTypes/HasActionEvent.fs similarity index 100% rename from tests/Moq.Tests.FSharpTypes/HasActionEvent.fs rename to src/Moq.Tests.FSharpTypes/HasActionEvent.fs diff --git a/tests/Moq.Tests.FSharpTypes/HasIndexer.fs b/src/Moq.Tests.FSharpTypes/HasIndexer.fs similarity index 100% rename from tests/Moq.Tests.FSharpTypes/HasIndexer.fs rename to src/Moq.Tests.FSharpTypes/HasIndexer.fs diff --git a/tests/Moq.Tests.FSharpTypes/HasProperty.fs b/src/Moq.Tests.FSharpTypes/HasProperty.fs similarity index 100% rename from tests/Moq.Tests.FSharpTypes/HasProperty.fs rename to src/Moq.Tests.FSharpTypes/HasProperty.fs diff --git a/tests/Moq.Tests.FSharpTypes/IHasActionEvent.fs b/src/Moq.Tests.FSharpTypes/IHasActionEvent.fs similarity index 100% rename from tests/Moq.Tests.FSharpTypes/IHasActionEvent.fs rename to src/Moq.Tests.FSharpTypes/IHasActionEvent.fs diff --git a/tests/Moq.Tests.FSharpTypes/IHasEventHandlerEvent.fs b/src/Moq.Tests.FSharpTypes/IHasEventHandlerEvent.fs similarity index 100% rename from tests/Moq.Tests.FSharpTypes/IHasEventHandlerEvent.fs rename to src/Moq.Tests.FSharpTypes/IHasEventHandlerEvent.fs diff --git a/tests/Moq.Tests.FSharpTypes/IHasIndexer.fs b/src/Moq.Tests.FSharpTypes/IHasIndexer.fs similarity index 100% rename from tests/Moq.Tests.FSharpTypes/IHasIndexer.fs rename to src/Moq.Tests.FSharpTypes/IHasIndexer.fs diff --git a/tests/Moq.Tests.FSharpTypes/IHasProperty.fs b/src/Moq.Tests.FSharpTypes/IHasProperty.fs similarity index 100% rename from tests/Moq.Tests.FSharpTypes/IHasProperty.fs rename to src/Moq.Tests.FSharpTypes/IHasProperty.fs diff --git a/tests/Moq.Tests.FSharpTypes/Moq.Tests.FSharpTypes.fsproj b/src/Moq.Tests.FSharpTypes/Moq.Tests.FSharpTypes.fsproj similarity index 66% rename from tests/Moq.Tests.FSharpTypes/Moq.Tests.FSharpTypes.fsproj rename to src/Moq.Tests.FSharpTypes/Moq.Tests.FSharpTypes.fsproj index fc94860d7..2ca63dbfe 100644 --- a/tests/Moq.Tests.FSharpTypes/Moq.Tests.FSharpTypes.fsproj +++ b/src/Moq.Tests.FSharpTypes/Moq.Tests.FSharpTypes.fsproj @@ -1,17 +1,17 @@ - - - - +ο»Ώ - net472;netcoreapp3.1;net6.0 + net472;net6.0 True portable False - + + + + diff --git a/tests/Moq.Tests.VisualBasic/IssueReports.vb b/src/Moq.Tests.VisualBasic/IssueReports.vb similarity index 100% rename from tests/Moq.Tests.VisualBasic/IssueReports.vb rename to src/Moq.Tests.VisualBasic/IssueReports.vb diff --git a/src/Moq.Tests.VisualBasic/Moq.Tests.VisualBasic.vbproj b/src/Moq.Tests.VisualBasic/Moq.Tests.VisualBasic.vbproj new file mode 100644 index 000000000..53776d440 --- /dev/null +++ b/src/Moq.Tests.VisualBasic/Moq.Tests.VisualBasic.vbproj @@ -0,0 +1,21 @@ +ο»Ώ + + + net472;net6.0 + True + portable + False + + + + + + + + + + + + + + diff --git a/tests/Moq.Tests/ActionObserverFixture.cs b/src/Moq.Tests/ActionObserverFixture.cs similarity index 100% rename from tests/Moq.Tests/ActionObserverFixture.cs rename to src/Moq.Tests/ActionObserverFixture.cs diff --git a/tests/Moq.Tests/AfterReturnCallbackDelegateValidationFixture.cs b/src/Moq.Tests/AfterReturnCallbackDelegateValidationFixture.cs similarity index 100% rename from tests/Moq.Tests/AfterReturnCallbackDelegateValidationFixture.cs rename to src/Moq.Tests/AfterReturnCallbackDelegateValidationFixture.cs diff --git a/tests/Moq.Tests/AsInterfaceFixture.cs b/src/Moq.Tests/AsInterfaceFixture.cs similarity index 100% rename from tests/Moq.Tests/AsInterfaceFixture.cs rename to src/Moq.Tests/AsInterfaceFixture.cs diff --git a/tests/Moq.Tests/Async/AwaitableFixture.cs b/src/Moq.Tests/Async/AwaitableFixture.cs similarity index 100% rename from tests/Moq.Tests/Async/AwaitableFixture.cs rename to src/Moq.Tests/Async/AwaitableFixture.cs diff --git a/tests/Moq.Tests/CSharpCompilerExpressionsFixture.cs b/src/Moq.Tests/CSharpCompilerExpressionsFixture.cs similarity index 100% rename from tests/Moq.Tests/CSharpCompilerExpressionsFixture.cs rename to src/Moq.Tests/CSharpCompilerExpressionsFixture.cs diff --git a/tests/Moq.Tests/CallBaseDefaultInterfaceImplementationsFixture.cs b/src/Moq.Tests/CallBaseDefaultInterfaceImplementationsFixture.cs similarity index 100% rename from tests/Moq.Tests/CallBaseDefaultInterfaceImplementationsFixture.cs rename to src/Moq.Tests/CallBaseDefaultInterfaceImplementationsFixture.cs diff --git a/tests/Moq.Tests/CallBaseFixture.cs b/src/Moq.Tests/CallBaseFixture.cs similarity index 100% rename from tests/Moq.Tests/CallBaseFixture.cs rename to src/Moq.Tests/CallBaseFixture.cs diff --git a/tests/Moq.Tests/CallbackDelegateValidationFixture.cs b/src/Moq.Tests/CallbackDelegateValidationFixture.cs similarity index 100% rename from tests/Moq.Tests/CallbackDelegateValidationFixture.cs rename to src/Moq.Tests/CallbackDelegateValidationFixture.cs diff --git a/tests/Moq.Tests/CallbacksFixture.cs b/src/Moq.Tests/CallbacksFixture.cs similarity index 100% rename from tests/Moq.Tests/CallbacksFixture.cs rename to src/Moq.Tests/CallbacksFixture.cs diff --git a/tests/Moq.Tests/CaptureFixture.cs b/src/Moq.Tests/CaptureFixture.cs similarity index 100% rename from tests/Moq.Tests/CaptureFixture.cs rename to src/Moq.Tests/CaptureFixture.cs diff --git a/tests/Moq.Tests/CaptureMatchFixture.cs b/src/Moq.Tests/CaptureMatchFixture.cs similarity index 100% rename from tests/Moq.Tests/CaptureMatchFixture.cs rename to src/Moq.Tests/CaptureMatchFixture.cs diff --git a/tests/Moq.Tests/ComCompatibilityFixture.cs b/src/Moq.Tests/ComCompatibilityFixture.cs similarity index 100% rename from tests/Moq.Tests/ComCompatibilityFixture.cs rename to src/Moq.Tests/ComCompatibilityFixture.cs diff --git a/tests/Moq.Tests/ConditionalSetupFixture.cs b/src/Moq.Tests/ConditionalSetupFixture.cs similarity index 100% rename from tests/Moq.Tests/ConditionalSetupFixture.cs rename to src/Moq.Tests/ConditionalSetupFixture.cs diff --git a/tests/Moq.Tests/CustomDefaultValueProviderFixture.cs b/src/Moq.Tests/CustomDefaultValueProviderFixture.cs similarity index 100% rename from tests/Moq.Tests/CustomDefaultValueProviderFixture.cs rename to src/Moq.Tests/CustomDefaultValueProviderFixture.cs diff --git a/tests/Moq.Tests/CustomMatcherFixture.cs b/src/Moq.Tests/CustomMatcherFixture.cs similarity index 100% rename from tests/Moq.Tests/CustomMatcherFixture.cs rename to src/Moq.Tests/CustomMatcherFixture.cs diff --git a/tests/Moq.Tests/CustomTypeMatchersFixture.cs b/src/Moq.Tests/CustomTypeMatchersFixture.cs similarity index 100% rename from tests/Moq.Tests/CustomTypeMatchersFixture.cs rename to src/Moq.Tests/CustomTypeMatchersFixture.cs diff --git a/tests/Moq.Tests/DefaultValueProviderFixture.cs b/src/Moq.Tests/DefaultValueProviderFixture.cs similarity index 100% rename from tests/Moq.Tests/DefaultValueProviderFixture.cs rename to src/Moq.Tests/DefaultValueProviderFixture.cs diff --git a/tests/Moq.Tests/Demo.cs b/src/Moq.Tests/Demo.cs similarity index 100% rename from tests/Moq.Tests/Demo.cs rename to src/Moq.Tests/Demo.cs diff --git a/tests/Moq.Tests/EmptyDefaultValueProviderFixture.cs b/src/Moq.Tests/EmptyDefaultValueProviderFixture.cs similarity index 100% rename from tests/Moq.Tests/EmptyDefaultValueProviderFixture.cs rename to src/Moq.Tests/EmptyDefaultValueProviderFixture.cs diff --git a/tests/Moq.Tests/EventHandlerTypesMustMatchFixture.cs b/src/Moq.Tests/EventHandlerTypesMustMatchFixture.cs similarity index 100% rename from tests/Moq.Tests/EventHandlerTypesMustMatchFixture.cs rename to src/Moq.Tests/EventHandlerTypesMustMatchFixture.cs diff --git a/tests/Moq.Tests/EventHandlersFixture.cs b/src/Moq.Tests/EventHandlersFixture.cs similarity index 100% rename from tests/Moq.Tests/EventHandlersFixture.cs rename to src/Moq.Tests/EventHandlersFixture.cs diff --git a/tests/Moq.Tests/ExpressionExtensionsFixture.cs b/src/Moq.Tests/ExpressionExtensionsFixture.cs similarity index 100% rename from tests/Moq.Tests/ExpressionExtensionsFixture.cs rename to src/Moq.Tests/ExpressionExtensionsFixture.cs diff --git a/tests/Moq.Tests/ExpressionSplitFixture.cs b/src/Moq.Tests/ExpressionSplitFixture.cs similarity index 100% rename from tests/Moq.Tests/ExpressionSplitFixture.cs rename to src/Moq.Tests/ExpressionSplitFixture.cs diff --git a/tests/Moq.Tests/ExtensibilityFixture.cs b/src/Moq.Tests/ExtensibilityFixture.cs similarity index 100% rename from tests/Moq.Tests/ExtensibilityFixture.cs rename to src/Moq.Tests/ExtensibilityFixture.cs diff --git a/tests/Moq.Tests/ExtensionsFixture.cs b/src/Moq.Tests/ExtensionsFixture.cs similarity index 100% rename from tests/Moq.Tests/ExtensionsFixture.cs rename to src/Moq.Tests/ExtensionsFixture.cs diff --git a/tests/Moq.Tests/FSharpCompatibilityFixture.cs b/src/Moq.Tests/FSharpCompatibilityFixture.cs similarity index 100% rename from tests/Moq.Tests/FSharpCompatibilityFixture.cs rename to src/Moq.Tests/FSharpCompatibilityFixture.cs diff --git a/tests/Moq.Tests/GeneratedReturnsExtensionsFixture.cs b/src/Moq.Tests/GeneratedReturnsExtensionsFixture.cs similarity index 100% rename from tests/Moq.Tests/GeneratedReturnsExtensionsFixture.cs rename to src/Moq.Tests/GeneratedReturnsExtensionsFixture.cs diff --git a/tests/Moq.Tests/HidePropertyFixture.cs b/src/Moq.Tests/HidePropertyFixture.cs similarity index 100% rename from tests/Moq.Tests/HidePropertyFixture.cs rename to src/Moq.Tests/HidePropertyFixture.cs diff --git a/tests/Moq.Tests/InterceptorFixture.cs b/src/Moq.Tests/InterceptorFixture.cs similarity index 100% rename from tests/Moq.Tests/InterceptorFixture.cs rename to src/Moq.Tests/InterceptorFixture.cs diff --git a/tests/Moq.Tests/InvocationsFixture.cs b/src/Moq.Tests/InvocationsFixture.cs similarity index 100% rename from tests/Moq.Tests/InvocationsFixture.cs rename to src/Moq.Tests/InvocationsFixture.cs diff --git a/tests/Moq.Tests/IsSubtypeFixture.cs b/src/Moq.Tests/IsSubtypeFixture.cs similarity index 100% rename from tests/Moq.Tests/IsSubtypeFixture.cs rename to src/Moq.Tests/IsSubtypeFixture.cs diff --git a/tests/Moq.Tests/IsValueTypeFixture.cs b/src/Moq.Tests/IsValueTypeFixture.cs similarity index 100% rename from tests/Moq.Tests/IsValueTypeFixture.cs rename to src/Moq.Tests/IsValueTypeFixture.cs diff --git a/tests/Moq.Tests/ItIsAnyTypeFixture.cs b/src/Moq.Tests/ItIsAnyTypeFixture.cs similarity index 100% rename from tests/Moq.Tests/ItIsAnyTypeFixture.cs rename to src/Moq.Tests/ItIsAnyTypeFixture.cs diff --git a/tests/Moq.Tests/Linq/MockRepositoryQuerying.cs b/src/Moq.Tests/Linq/MockRepositoryQuerying.cs similarity index 100% rename from tests/Moq.Tests/Linq/MockRepositoryQuerying.cs rename to src/Moq.Tests/Linq/MockRepositoryQuerying.cs diff --git a/tests/Moq.Tests/Linq/QueryableMocksFixture.cs b/src/Moq.Tests/Linq/QueryableMocksFixture.cs similarity index 100% rename from tests/Moq.Tests/Linq/QueryableMocksFixture.cs rename to src/Moq.Tests/Linq/QueryableMocksFixture.cs diff --git a/tests/Moq.Tests/Linq/SupportedQuerying.cs b/src/Moq.Tests/Linq/SupportedQuerying.cs similarity index 100% rename from tests/Moq.Tests/Linq/SupportedQuerying.cs rename to src/Moq.Tests/Linq/SupportedQuerying.cs diff --git a/tests/Moq.Tests/Linq/UnsupportedQuerying.cs b/src/Moq.Tests/Linq/UnsupportedQuerying.cs similarity index 100% rename from tests/Moq.Tests/Linq/UnsupportedQuerying.cs rename to src/Moq.Tests/Linq/UnsupportedQuerying.cs diff --git a/tests/Moq.Tests/LookupOrFallbackDefaultValueProviderFixture.cs b/src/Moq.Tests/LookupOrFallbackDefaultValueProviderFixture.cs similarity index 100% rename from tests/Moq.Tests/LookupOrFallbackDefaultValueProviderFixture.cs rename to src/Moq.Tests/LookupOrFallbackDefaultValueProviderFixture.cs diff --git a/tests/Moq.Tests/MatchExpressionFixture.cs b/src/Moq.Tests/MatchExpressionFixture.cs similarity index 100% rename from tests/Moq.Tests/MatchExpressionFixture.cs rename to src/Moq.Tests/MatchExpressionFixture.cs diff --git a/tests/Moq.Tests/MatchFixture.cs b/src/Moq.Tests/MatchFixture.cs similarity index 100% rename from tests/Moq.Tests/MatchFixture.cs rename to src/Moq.Tests/MatchFixture.cs diff --git a/tests/Moq.Tests/MatcherAttributeFixture.cs b/src/Moq.Tests/MatcherAttributeFixture.cs similarity index 100% rename from tests/Moq.Tests/MatcherAttributeFixture.cs rename to src/Moq.Tests/MatcherAttributeFixture.cs diff --git a/tests/Moq.Tests/MatcherObserverFixture.cs b/src/Moq.Tests/MatcherObserverFixture.cs similarity index 100% rename from tests/Moq.Tests/MatcherObserverFixture.cs rename to src/Moq.Tests/MatcherObserverFixture.cs diff --git a/tests/Moq.Tests/Matchers/AnyMatcherFixture.cs b/src/Moq.Tests/Matchers/AnyMatcherFixture.cs similarity index 100% rename from tests/Moq.Tests/Matchers/AnyMatcherFixture.cs rename to src/Moq.Tests/Matchers/AnyMatcherFixture.cs diff --git a/tests/Moq.Tests/Matchers/ConstantMatcherFixture.cs b/src/Moq.Tests/Matchers/ConstantMatcherFixture.cs similarity index 100% rename from tests/Moq.Tests/Matchers/ConstantMatcherFixture.cs rename to src/Moq.Tests/Matchers/ConstantMatcherFixture.cs diff --git a/tests/Moq.Tests/Matchers/IsAssignableFromVsIsOperatorFixture.cs b/src/Moq.Tests/Matchers/IsAssignableFromVsIsOperatorFixture.cs similarity index 100% rename from tests/Moq.Tests/Matchers/IsAssignableFromVsIsOperatorFixture.cs rename to src/Moq.Tests/Matchers/IsAssignableFromVsIsOperatorFixture.cs diff --git a/tests/Moq.Tests/Matchers/ParamArrayMatcherFixture.cs b/src/Moq.Tests/Matchers/ParamArrayMatcherFixture.cs similarity index 100% rename from tests/Moq.Tests/Matchers/ParamArrayMatcherFixture.cs rename to src/Moq.Tests/Matchers/ParamArrayMatcherFixture.cs diff --git a/tests/Moq.Tests/Matchers/Wildcard.cs b/src/Moq.Tests/Matchers/Wildcard.cs similarity index 100% rename from tests/Moq.Tests/Matchers/Wildcard.cs rename to src/Moq.Tests/Matchers/Wildcard.cs diff --git a/tests/Moq.Tests/MatchersFixture.cs b/src/Moq.Tests/MatchersFixture.cs similarity index 100% rename from tests/Moq.Tests/MatchersFixture.cs rename to src/Moq.Tests/MatchersFixture.cs diff --git a/tests/Moq.Tests/MethodExpectationFixture.cs b/src/Moq.Tests/MethodExpectationFixture.cs similarity index 100% rename from tests/Moq.Tests/MethodExpectationFixture.cs rename to src/Moq.Tests/MethodExpectationFixture.cs diff --git a/tests/Moq.Tests/MockBehaviorFixture.cs b/src/Moq.Tests/MockBehaviorFixture.cs similarity index 100% rename from tests/Moq.Tests/MockBehaviorFixture.cs rename to src/Moq.Tests/MockBehaviorFixture.cs diff --git a/tests/Moq.Tests/MockDefaultValueProviderFixture.cs b/src/Moq.Tests/MockDefaultValueProviderFixture.cs similarity index 100% rename from tests/Moq.Tests/MockDefaultValueProviderFixture.cs rename to src/Moq.Tests/MockDefaultValueProviderFixture.cs diff --git a/tests/Moq.Tests/MockFixture.cs b/src/Moq.Tests/MockFixture.cs similarity index 100% rename from tests/Moq.Tests/MockFixture.cs rename to src/Moq.Tests/MockFixture.cs diff --git a/tests/Moq.Tests/MockRepositoryFixture.cs b/src/Moq.Tests/MockRepositoryFixture.cs similarity index 100% rename from tests/Moq.Tests/MockRepositoryFixture.cs rename to src/Moq.Tests/MockRepositoryFixture.cs diff --git a/tests/Moq.Tests/MockSequenceFixture.cs b/src/Moq.Tests/MockSequenceFixture.cs similarity index 100% rename from tests/Moq.Tests/MockSequenceFixture.cs rename to src/Moq.Tests/MockSequenceFixture.cs diff --git a/tests/Moq.Tests/MockedDelegatesFixture.cs b/src/Moq.Tests/MockedDelegatesFixture.cs similarity index 100% rename from tests/Moq.Tests/MockedDelegatesFixture.cs rename to src/Moq.Tests/MockedDelegatesFixture.cs diff --git a/tests/Moq.Tests/MockedEventsFixture.cs b/src/Moq.Tests/MockedEventsFixture.cs similarity index 100% rename from tests/Moq.Tests/MockedEventsFixture.cs rename to src/Moq.Tests/MockedEventsFixture.cs diff --git a/tests/Moq.Tests/MockedFixture.cs b/src/Moq.Tests/MockedFixture.cs similarity index 100% rename from tests/Moq.Tests/MockedFixture.cs rename to src/Moq.Tests/MockedFixture.cs diff --git a/src/Moq.Tests/Moq.Tests.csproj b/src/Moq.Tests/Moq.Tests.csproj new file mode 100644 index 000000000..272694ea0 --- /dev/null +++ b/src/Moq.Tests/Moq.Tests.csproj @@ -0,0 +1,61 @@ +ο»Ώ + + + net472;net6.0 + Moq.Tests + True + portable + true + 9.0 + False + $(NoWarn);CS8032 + + + + $(DefineConstants);FEATURE_DYNAMICPROXY_SERIALIZABLE_PROXIES;FEATURE_EF;FEATURE_SYSTEM_WEB;FEATURE_SYSTEM_WINDOWS_FORMS + + + $(DefineConstants);FEATURE_DEFAULT_INTERFACE_IMPLEMENTATIONS + + + + + + + + + + + + + + + + + + + + + + + + + + + ..\Moq.Tests.ComTypes\Moq.Tests.ComTypes.dll + + + + + + + + + + + + + + + + diff --git a/tests/Moq.Tests/NestedTypeMatchersFixture.cs b/src/Moq.Tests/NestedTypeMatchersFixture.cs similarity index 100% rename from tests/Moq.Tests/NestedTypeMatchersFixture.cs rename to src/Moq.Tests/NestedTypeMatchersFixture.cs diff --git a/tests/Moq.Tests/OccurrenceFixture.cs b/src/Moq.Tests/OccurrenceFixture.cs similarity index 100% rename from tests/Moq.Tests/OccurrenceFixture.cs rename to src/Moq.Tests/OccurrenceFixture.cs diff --git a/tests/Moq.Tests/OutRefFixture.cs b/src/Moq.Tests/OutRefFixture.cs similarity index 100% rename from tests/Moq.Tests/OutRefFixture.cs rename to src/Moq.Tests/OutRefFixture.cs diff --git a/tests/Moq.Tests/PropertiesFixture.cs b/src/Moq.Tests/PropertiesFixture.cs similarity index 100% rename from tests/Moq.Tests/PropertiesFixture.cs rename to src/Moq.Tests/PropertiesFixture.cs diff --git a/tests/Moq.Tests/ProtectedAsMockFixture.cs b/src/Moq.Tests/ProtectedAsMockFixture.cs similarity index 100% rename from tests/Moq.Tests/ProtectedAsMockFixture.cs rename to src/Moq.Tests/ProtectedAsMockFixture.cs diff --git a/tests/Moq.Tests/ProtectedMockFixture.cs b/src/Moq.Tests/ProtectedMockFixture.cs similarity index 100% rename from tests/Moq.Tests/ProtectedMockFixture.cs rename to src/Moq.Tests/ProtectedMockFixture.cs diff --git a/tests/Moq.Tests/ProxyFactories/MostSpecificOverrideFixture.cs b/src/Moq.Tests/ProxyFactories/MostSpecificOverrideFixture.cs similarity index 100% rename from tests/Moq.Tests/ProxyFactories/MostSpecificOverrideFixture.cs rename to src/Moq.Tests/ProxyFactories/MostSpecificOverrideFixture.cs diff --git a/tests/Moq.Tests/RecordsFixture.cs b/src/Moq.Tests/RecordsFixture.cs similarity index 100% rename from tests/Moq.Tests/RecordsFixture.cs rename to src/Moq.Tests/RecordsFixture.cs diff --git a/tests/Moq.Tests/RecursiveMocksFixture.cs b/src/Moq.Tests/RecursiveMocksFixture.cs similarity index 100% rename from tests/Moq.Tests/RecursiveMocksFixture.cs rename to src/Moq.Tests/RecursiveMocksFixture.cs diff --git a/tests/Moq.Tests/ReflectionExtensions.cs b/src/Moq.Tests/ReflectionExtensions.cs similarity index 100% rename from tests/Moq.Tests/ReflectionExtensions.cs rename to src/Moq.Tests/ReflectionExtensions.cs diff --git a/tests/Moq.Tests/Regressions/FluentMockIssues.cs b/src/Moq.Tests/Regressions/FluentMockIssues.cs similarity index 100% rename from tests/Moq.Tests/Regressions/FluentMockIssues.cs rename to src/Moq.Tests/Regressions/FluentMockIssues.cs diff --git a/tests/Moq.Tests/Regressions/IssueReportsFixture.cs b/src/Moq.Tests/Regressions/IssueReportsFixture.cs similarity index 100% rename from tests/Moq.Tests/Regressions/IssueReportsFixture.cs rename to src/Moq.Tests/Regressions/IssueReportsFixture.cs diff --git a/tests/Moq.Tests/Regressions/StreamFixture.cs b/src/Moq.Tests/Regressions/StreamFixture.cs similarity index 100% rename from tests/Moq.Tests/Regressions/StreamFixture.cs rename to src/Moq.Tests/Regressions/StreamFixture.cs diff --git a/tests/Moq.Tests/ReturnsDelegateValidationFixture.cs b/src/Moq.Tests/ReturnsDelegateValidationFixture.cs similarity index 100% rename from tests/Moq.Tests/ReturnsDelegateValidationFixture.cs rename to src/Moq.Tests/ReturnsDelegateValidationFixture.cs diff --git a/tests/Moq.Tests/ReturnsExtensionsFixture.cs b/src/Moq.Tests/ReturnsExtensionsFixture.cs similarity index 100% rename from tests/Moq.Tests/ReturnsExtensionsFixture.cs rename to src/Moq.Tests/ReturnsExtensionsFixture.cs diff --git a/tests/Moq.Tests/ReturnsFixture.cs b/src/Moq.Tests/ReturnsFixture.cs similarity index 100% rename from tests/Moq.Tests/ReturnsFixture.cs rename to src/Moq.Tests/ReturnsFixture.cs diff --git a/tests/Moq.Tests/ReturnsValidationFixture.cs b/src/Moq.Tests/ReturnsValidationFixture.cs similarity index 100% rename from tests/Moq.Tests/ReturnsValidationFixture.cs rename to src/Moq.Tests/ReturnsValidationFixture.cs diff --git a/tests/Moq.Tests/SequenceExtensionsFixture.cs b/src/Moq.Tests/SequenceExtensionsFixture.cs similarity index 100% rename from tests/Moq.Tests/SequenceExtensionsFixture.cs rename to src/Moq.Tests/SequenceExtensionsFixture.cs diff --git a/tests/Moq.Tests/SequentialActionExtensionsFixture.cs b/src/Moq.Tests/SequentialActionExtensionsFixture.cs similarity index 100% rename from tests/Moq.Tests/SequentialActionExtensionsFixture.cs rename to src/Moq.Tests/SequentialActionExtensionsFixture.cs diff --git a/tests/Moq.Tests/SetupFixture.cs b/src/Moq.Tests/SetupFixture.cs similarity index 100% rename from tests/Moq.Tests/SetupFixture.cs rename to src/Moq.Tests/SetupFixture.cs diff --git a/tests/Moq.Tests/SetupTaskResultFixture.cs b/src/Moq.Tests/SetupTaskResultFixture.cs similarity index 100% rename from tests/Moq.Tests/SetupTaskResultFixture.cs rename to src/Moq.Tests/SetupTaskResultFixture.cs diff --git a/tests/Moq.Tests/SetupsFixture.cs b/src/Moq.Tests/SetupsFixture.cs similarity index 100% rename from tests/Moq.Tests/SetupsFixture.cs rename to src/Moq.Tests/SetupsFixture.cs diff --git a/tests/Moq.Tests/StringBuilderExtensionsFixture.cs b/src/Moq.Tests/StringBuilderExtensionsFixture.cs similarity index 100% rename from tests/Moq.Tests/StringBuilderExtensionsFixture.cs rename to src/Moq.Tests/StringBuilderExtensionsFixture.cs diff --git a/tests/Moq.Tests/StringExtensions.cs b/src/Moq.Tests/StringExtensions.cs similarity index 100% rename from tests/Moq.Tests/StringExtensions.cs rename to src/Moq.Tests/StringExtensions.cs diff --git a/tests/Moq.Tests/StubExtensionsFixture.cs b/src/Moq.Tests/StubExtensionsFixture.cs similarity index 100% rename from tests/Moq.Tests/StubExtensionsFixture.cs rename to src/Moq.Tests/StubExtensionsFixture.cs diff --git a/tests/Moq.Tests/ThrowsFixture.cs b/src/Moq.Tests/ThrowsFixture.cs similarity index 100% rename from tests/Moq.Tests/ThrowsFixture.cs rename to src/Moq.Tests/ThrowsFixture.cs diff --git a/tests/Moq.Tests/TimesFixture.cs b/src/Moq.Tests/TimesFixture.cs similarity index 100% rename from tests/Moq.Tests/TimesFixture.cs rename to src/Moq.Tests/TimesFixture.cs diff --git a/tests/Moq.Tests/TypeIsMockableFixture.cs b/src/Moq.Tests/TypeIsMockableFixture.cs similarity index 100% rename from tests/Moq.Tests/TypeIsMockableFixture.cs rename to src/Moq.Tests/TypeIsMockableFixture.cs diff --git a/tests/Moq.Tests/UnmatchableMatchersFixture.cs b/src/Moq.Tests/UnmatchableMatchersFixture.cs similarity index 100% rename from tests/Moq.Tests/UnmatchableMatchersFixture.cs rename to src/Moq.Tests/UnmatchableMatchersFixture.cs diff --git a/tests/Moq.Tests/VerifiableSetupFixture.cs b/src/Moq.Tests/VerifiableSetupFixture.cs similarity index 100% rename from tests/Moq.Tests/VerifiableSetupFixture.cs rename to src/Moq.Tests/VerifiableSetupFixture.cs diff --git a/tests/Moq.Tests/VerifyFixture.cs b/src/Moq.Tests/VerifyFixture.cs similarity index 100% rename from tests/Moq.Tests/VerifyFixture.cs rename to src/Moq.Tests/VerifyFixture.cs diff --git a/Moq.snk b/src/Moq.snk similarity index 100% rename from Moq.snk rename to src/Moq.snk diff --git a/src/Moq/Moq.csproj b/src/Moq/Moq.csproj index 183618a70..ed09a864b 100644 --- a/src/Moq/Moq.csproj +++ b/src/Moq/Moq.csproj @@ -1,19 +1,9 @@ ο»Ώ - - - - - net462;netstandard2.0;netstandard2.1;net6.0 Moq - True - embedded - bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml - true $(NoWarn);0419;CS8032 - Moq true 4 9.0 @@ -29,26 +19,27 @@ Moq Moq: an enjoyable mocking library Moq is the most popular and friendly mocking framework for .NET. - A changelog is available at https://github.com/moq/moq4/blob/main/CHANGELOG.md. Daniel Cazzulino, kzu Copyright (c) 2007, Clarius Consulting, Manas Technology Solutions, InSTEDD, and Contributors. All rights reserved. - moq.png + icon.png BSD-3-Clause False - True + A changelog is available at https://github.com/moq/moq/blob/main/CHANGELOG.md. + True $(OutputDirectory) moq;tdd;mocking;mocks;unittesting;agile;unittest - https://github.com/moq/moq4 - https://github.com/moq/moq4 - false + https://github.com/moq/moq + https://github.com/moq/moq + + @@ -120,25 +111,9 @@ - - - - - - - - - $(Description) - -Built from $(RepositoryUrl)/tree/$(SourceRevisionId.Substring(0, 9)) - - $(Description) - - + + + + diff --git a/src/Moq/Properties/AssemblyInfo.cs b/src/Moq/Properties/AssemblyInfo.cs index 07bcc436e..fd15f44a9 100644 --- a/src/Moq/Properties/AssemblyInfo.cs +++ b/src/Moq/Properties/AssemblyInfo.cs @@ -1,12 +1,7 @@ using System; using System.Resources; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; [assembly: ComVisible(false)] - -[assembly: InternalsVisibleTo("Moq.Tests, PublicKey=00240000048000009400000006020000002400005253413100040000010001009f7a95086500f8f66d892174803850fed9c22225c2ccfff21f39c8af8abfa5415b1664efd0d8e0a6f7f2513b1c11659bd84723dc7900c3d481b833a73a2bcf1ed94c16c4be64d54352c86956c89930444e9ac15124d3693e3f029818e8410f167399d6b995324b635e95353ba97bfab856abbaeb9b40c9b160070c6325e22ddc")] -[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2,PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7")] - [assembly: CLSCompliant(true)] [assembly: NeutralResourcesLanguage("en-US")] diff --git a/src/Moq/icon.png b/src/Moq/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..41cf4062f3028f6aed379ac62d7cc65b2c14b25a GIT binary patch literal 6829 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 b00960reLzkUBjK-00000NkvXXu0mjfsqI4` literal 0 HcmV?d00001 diff --git a/tests/Moq.Tests.VisualBasic/Moq.Tests.VisualBasic.vbproj b/tests/Moq.Tests.VisualBasic/Moq.Tests.VisualBasic.vbproj deleted file mode 100644 index 4f84c0d04..000000000 --- a/tests/Moq.Tests.VisualBasic/Moq.Tests.VisualBasic.vbproj +++ /dev/null @@ -1,19 +0,0 @@ -ο»Ώ - - - - - - - net472;netcoreapp3.1;net6.0 - True - portable - False - - - - - - - - diff --git a/tests/Moq.Tests/Moq.Tests.csproj b/tests/Moq.Tests/Moq.Tests.csproj deleted file mode 100644 index 245abb00c..000000000 --- a/tests/Moq.Tests/Moq.Tests.csproj +++ /dev/null @@ -1,58 +0,0 @@ -ο»Ώ - - - - - - - net472;netcoreapp3.1;net6.0 - Moq.Tests - True - portable - true - 9.0 - False - $(NoWarn);CS8032 - - - - $(DefineConstants);FEATURE_DYNAMICPROXY_SERIALIZABLE_PROXIES;FEATURE_EF;FEATURE_SYSTEM_WEB;FEATURE_SYSTEM_WINDOWS_FORMS - - - $(DefineConstants);FEATURE_DEFAULT_INTERFACE_IMPLEMENTATIONS - - - - - - - - - - - - - ..\Moq.Tests.ComTypes\Moq.Tests.ComTypes.dll - - - - - - - - - - - - - - - - - - - - - - -