在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → FluentAssertions:.NET单元测试的自然断言扩展方法详解

FluentAssertions:.NET单元测试的自然断言扩展方法详解

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:3.33M
  • 下载次数:0
  • 浏览次数:49
  • 发布时间:2024-02-07
  • 实例类别:一般编程问题
  • 发 布 人:chenxiaolan
  • 文件格式:.zip
  • 所需积分:2
 相关标签:

实例介绍

【实例简介】
FluentAssertions是一个为.NET测试提供流畅断言方式的库,它通过一系列扩展方法,让开发者能够以更自然、直观的方式来指定测试驱动开发(TDD)或行为驱动开发(BDD)风格的单元测试的预期结果。该库支持.NET Standard 2.0及以上版本、.NET Framework 4.7及以上版本以及.NET 6及更高版本。

FluentAssertions的创造者是Dennis Doomen,与Jonas Nyrup共同成为该项目的生产力伙伴。Artur Krajewski、Lukas Grützmacher和David Omid等人也为该项目做出了显著贡献。

要构建这个库,你需要安装Visual Studio 2022 17.8 或JetBrains Rider 2021.3以及Build Tools 2022(包括Universal Windows Platform构建工具)。此外,还需安装.NET Framework 4.7 SDK和.NET 8.0 SDK。可以参考global.json文件了解当前所需的最低版本。

关于Approval.Tests,这是一组特别的测试,使用Verify项目来验证库的公共API是否引入了任何破坏性变更。如果确认变更有效,可以通过运行AcceptApiChanges.ps1或AcceptApiChanges.sh来接受这些变更。或者,可以在Rider内部使用Verify Support插件来比较变更并接受它们。
【实例截图】
【核心代码】
文件清单
└── fluentassertions-5d75286ef24fb38c18ad1fe70f85042b52e73c76
    ├── AcceptApiChanges.ps1
    ├── AcceptApiChanges.sh
    ├── Build
    │   ├── Build.cs
    │   ├── CompressionExtensions.cs
    │   ├── Configuration.cs
    │   ├── CustomNpmTasks.cs
    │   ├── _build.csproj
    │   └── _build.csproj.DotSettings
    ├── CNAME
    ├── CONTRIBUTING.md
    ├── Directory.Build.props
    ├── FluentAssertions.sln
    ├── FluentAssertions.sln.DotSettings
    ├── GitVersion.yml
    ├── LICENSE
    ├── NodeVersion
    ├── README.md
    ├── Src
    │   ├── FluentAssertions
    │   │   ├── AggregateExceptionExtractor.cs
    │   │   ├── AndConstraint.cs
    │   │   ├── AndWhichConstraint.cs
    │   │   ├── AssertionExtensions.cs
    │   │   ├── AssertionOptions.cs
    │   │   ├── AsyncAssertionsExtensions.cs
    │   │   ├── AtLeast.cs
    │   │   ├── AtMost.cs
    │   │   ├── BannedSymbols.txt
    │   │   ├── CallerIdentification
    │   │   │   ├── AddNonEmptySymbolParsingStrategy.cs
    │   │   │   ├── AwaitParsingStrategy.cs
    │   │   │   ├── CallerStatementBuilder.cs
    │   │   │   ├── IParsingStrategy.cs
    │   │   │   ├── MultiLineCommentParsingStrategy.cs
    │   │   │   ├── ParsingState.cs
    │   │   │   ├── QuotesParsingStrategy.cs
    │   │   │   ├── SemicolonParsingStrategy.cs
    │   │   │   ├── ShouldCallParsingStrategy.cs
    │   │   │   └── SingleLineCommentParsingStrategy.cs
    │   │   ├── CallerIdentifier.cs
    │   │   ├── Collections
    │   │   │   ├── GenericCollectionAssertions.cs
    │   │   │   ├── GenericDictionaryAssertions.cs
    │   │   │   ├── MaximumMatching
    │   │   │   │   ├── Element.cs
    │   │   │   │   ├── MaximumMatchingProblem.cs
    │   │   │   │   ├── MaximumMatchingSolution.cs
    │   │   │   │   ├── MaximumMatchingSolver.cs
    │   │   │   │   └── Predicate.cs
    │   │   │   ├── SortOrder.cs
    │   │   │   ├── StringCollectionAssertions.cs
    │   │   │   ├── SubsequentOrderingAssertions.cs
    │   │   │   ├── SubsequentOrderingGenericCollectionAssertions.cs
    │   │   │   └── WhoseValueConstraint.cs
    │   │   ├── Common
    │   │   │   ├── AppSettingsConfigurationStore.cs
    │   │   │   ├── CSharpAccessModifier.cs
    │   │   │   ├── CSharpAccessModifierExtensions.cs
    │   │   │   ├── Clock.cs
    │   │   │   ├── Configuration.cs
    │   │   │   ├── ConfigurationStoreExceptionInterceptor.cs
    │   │   │   ├── DateTimeExtensions.cs
    │   │   │   ├── DictionaryHelpers.cs
    │   │   │   ├── EnumerableExtensions.cs
    │   │   │   ├── ExceptionExtensions.cs
    │   │   │   ├── ExpressionExtensions.cs
    │   │   │   ├── FullFrameworkReflector.cs
    │   │   │   ├── Guard.cs
    │   │   │   ├── IClock.cs
    │   │   │   ├── IConfigurationStore.cs
    │   │   │   ├── IReflector.cs
    │   │   │   ├── ITimer.cs
    │   │   │   ├── IntegerExtensions.cs
    │   │   │   ├── Iterator.cs
    │   │   │   ├── MemberPath.cs
    │   │   │   ├── MemberPathSegmentEqualityComparer.cs
    │   │   │   ├── MethodInfoExtensions.cs
    │   │   │   ├── NullConfigurationStore.cs
    │   │   │   ├── ObjectExtensions.cs
    │   │   │   ├── PropertyInfoExtensions.cs
    │   │   │   ├── Services.cs
    │   │   │   ├── StartTimer.cs
    │   │   │   ├── StopwatchTimer.cs
    │   │   │   ├── StringExtensions.cs
    │   │   │   ├── TimeOnlyExtensions.cs
    │   │   │   ├── TypeExtensions.cs
    │   │   │   ├── TypeMemberReflector.cs
    │   │   │   └── ValueFormatterDetectionMode.cs
    │   │   ├── CustomAssertionAttribute.cs
    │   │   ├── CustomAssertionsAssemblyAttribute.cs
    │   │   ├── Disposable.cs
    │   │   ├── EnumAssertionsExtensions.cs
    │   │   ├── Equivalency
    │   │   │   ├── Comparands.cs
    │   │   │   ├── ConversionSelector.cs
    │   │   │   ├── CyclicReferenceHandling.cs
    │   │   │   ├── Digit.cs
    │   │   │   ├── EnumEquivalencyHandling.cs
    │   │   │   ├── EqualityStrategy.cs
    │   │   │   ├── EqualityStrategyProvider.cs
    │   │   │   ├── EquivalencyOptions.cs
    │   │   │   ├── EquivalencyResult.cs
    │   │   │   ├── EquivalencyStep.cs
    │   │   │   ├── EquivalencyValidationContext.cs
    │   │   │   ├── EquivalencyValidator.cs
    │   │   │   ├── Execution
    │   │   │   │   ├── CollectionMemberOptionsDecorator.cs
    │   │   │   │   ├── CyclicReferenceDetector.cs
    │   │   │   │   ├── ObjectInfo.cs
    │   │   │   │   └── ObjectReference.cs
    │   │   │   ├── Field.cs
    │   │   │   ├── GetSubjectId.cs
    │   │   │   ├── IAssertionContext.cs
    │   │   │   ├── IEquivalencyOptions.cs
    │   │   │   ├── IEquivalencyStep.cs
    │   │   │   ├── IEquivalencyValidationContext.cs
    │   │   │   ├── IEquivalencyValidator.cs
    │   │   │   ├── IMember.cs
    │   │   │   ├── IMemberInfo.cs
    │   │   │   ├── IMemberMatchingRule.cs
    │   │   │   ├── IMemberSelectionRule.cs
    │   │   │   ├── INode.cs
    │   │   │   ├── IObjectInfo.cs
    │   │   │   ├── IOrderingRule.cs
    │   │   │   ├── Matching
    │   │   │   │   ├── MappedMemberMatchingRule.cs
    │   │   │   │   ├── MappedPathMatchingRule.cs
    │   │   │   │   ├── MustMatchByNameRule.cs
    │   │   │   │   └── TryMatchByNameRule.cs
    │   │   │   ├── MemberFactory.cs
    │   │   │   ├── MemberSelectionContext.cs
    │   │   │   ├── MemberVisibility.cs
    │   │   │   ├── MultiDimensionalArrayEquivalencyStep.cs
    │   │   │   ├── NestedExclusionOptionBuilder.cs
    │   │   │   ├── Node.cs
    │   │   │   ├── OrderStrictness.cs
    │   │   │   ├── Ordering
    │   │   │   │   ├── ByteArrayOrderingRule.cs
    │   │   │   │   ├── CollectionMemberObjectInfo.cs
    │   │   │   │   ├── CollectionMemberOrderingRuleDecorator.cs
    │   │   │   │   ├── MatchAllOrderingRule.cs
    │   │   │   │   ├── PathBasedOrderingRule.cs
    │   │   │   │   └── PredicateBasedOrderingRule.cs
    │   │   │   ├── OrderingRuleCollection.cs
    │   │   │   ├── Property.cs
    │   │   │   ├── Selection
    │   │   │   │   ├── AllFieldsSelectionRule.cs
    │   │   │   │   ├── AllPropertiesSelectionRule.cs
    │   │   │   │   ├── CollectionMemberSelectionRuleDecorator.cs
    │   │   │   │   ├── ExcludeMemberByPathSelectionRule.cs
    │   │   │   │   ├── ExcludeMemberByPredicateSelectionRule.cs
    │   │   │   │   ├── ExcludeNonBrowsableMembersRule.cs
    │   │   │   │   ├── IncludeMemberByPathSelectionRule.cs
    │   │   │   │   ├── IncludeMemberByPredicateSelectionRule.cs
    │   │   │   │   ├── MemberToMemberInfoAdapter.cs
    │   │   │   │   └── SelectMemberByPathSelectionRule.cs
    │   │   │   ├── SelfReferenceEquivalencyOptions.cs
    │   │   │   ├── Steps
    │   │   │   │   ├── AssertionContext.cs
    │   │   │   │   ├── AssertionResultSet.cs
    │   │   │   │   ├── AssertionRuleEquivalencyStep.cs
    │   │   │   │   ├── AutoConversionStep.cs
    │   │   │   │   ├── DictionaryEquivalencyStep.cs
    │   │   │   │   ├── DictionaryInterfaceInfo.cs
    │   │   │   │   ├── EnumEqualityStep.cs
    │   │   │   │   ├── EnumerableEquivalencyStep.cs
    │   │   │   │   ├── EnumerableEquivalencyValidator.cs
    │   │   │   │   ├── EnumerableEquivalencyValidatorExtensions.cs
    │   │   │   │   ├── EqualityComparerEquivalencyStep.cs
    │   │   │   │   ├── EquivalencyValidationContextExtensions.cs
    │   │   │   │   ├── GenericDictionaryEquivalencyStep.cs
    │   │   │   │   ├── GenericEnumerableEquivalencyStep.cs
    │   │   │   │   ├── ReferenceEqualityEquivalencyStep.cs
    │   │   │   │   ├── RunAllUserStepsEquivalencyStep.cs
    │   │   │   │   ├── SimpleEqualityEquivalencyStep.cs
    │   │   │   │   ├── StringEqualityEquivalencyStep.cs
    │   │   │   │   ├── StructuralEqualityEquivalencyStep.cs
    │   │   │   │   ├── ValueTypeEquivalencyStep.cs
    │   │   │   │   ├── XAttributeEquivalencyStep.cs
    │   │   │   │   ├── XDocumentEquivalencyStep.cs
    │   │   │   │   └── XElementEquivalencyStep.cs
    │   │   │   ├── SubjectInfoExtensions.cs
    │   │   │   └── Tracing
    │   │   │       ├── GetTraceMessage.cs
    │   │   │       ├── ITraceWriter.cs
    │   │   │       ├── StringBuilderTraceWriter.cs
    │   │   │       └── Tracer.cs
    │   │   ├── EquivalencyPlan.cs
    │   │   ├── EventRaisingExtensions.cs
    │   │   ├── Events
    │   │   │   ├── EventAssertions.cs
    │   │   │   ├── EventHandlerFactory.cs
    │   │   │   ├── EventMetadata.cs
    │   │   │   ├── EventMonitor.cs
    │   │   │   ├── EventRecorder.cs
    │   │   │   ├── FilteredEventRecording.cs
    │   │   │   ├── IEventRecording.cs
    │   │   │   ├── IMonitor.cs
    │   │   │   ├── OccurredEvent.cs
    │   │   │   ├── RecordedEvent.cs
    │   │   │   └── ThreadSafeSequenceGenerator.cs
    │   │   ├── Exactly.cs
    │   │   ├── ExceptionAssertionsExtensions.cs
    │   │   ├── Execution
    │   │   │   ├── AssertionFailedException.cs
    │   │   │   ├── AssertionScope.cs
    │   │   │   ├── CollectingAssertionStrategy.cs
    │   │   │   ├── ContextDataItems.cs
    │   │   │   ├── Continuation.cs
    │   │   │   ├── ContinuationOfGiven.cs
    │   │   │   ├── ContinuedAssertionScope.cs
    │   │   │   ├── DefaultAssertionStrategy.cs
    │   │   │   ├── Execute.cs
    │   │   │   ├── FailReason.cs
    │   │   │   ├── FallbackTestFramework.cs
    │   │   │   ├── GivenSelector.cs
    │   │   │   ├── GivenSelectorExtensions.cs
    │   │   │   ├── IAssertionScope.cs
    │   │   │   ├── IAssertionStrategy.cs
    │   │   │   ├── ICloneable2.cs
    │   │   │   ├── ITestFramework.cs
    │   │   │   ├── LateBoundTestFramework.cs
    │   │   │   ├── MSTestFrameworkV2.cs
    │   │   │   ├── MSpecFramework.cs
    │   │   │   ├── MessageBuilder.cs
    │   │   │   ├── NUnitTestFramework.cs
    │   │   │   ├── Reason.cs
    │   │   │   ├── TestFrameworkProvider.cs
    │   │   │   └── XUnit2TestFramework.cs
    │   │   ├── Extensibility
    │   │   │   └── AssertionEngineInitializerAttribute.cs
    │   │   ├── Extensions
    │   │   │   ├── FluentDateTimeExtensions.cs
    │   │   │   ├── FluentTimeSpanExtensions.cs
    │   │   │   └── OccurrenceConstraintExtensions.cs
    │   │   ├── FluentActions.cs
    │   │   ├── FluentAssertions.csproj
    │   │   ├── FluentAssertions.snk
    │   │   ├── Formatting
    │   │   │   ├── AggregateExceptionValueFormatter.cs
    │   │   │   ├── AttributeBasedFormatter.cs
    │   │   │   ├── ByteValueFormatter.cs
    │   │   │   ├── DateOnlyValueFormatter.cs
    │   │   │   ├── DateTimeOffsetValueFormatter.cs
    │   │   │   ├── DecimalValueFormatter.cs
    │   │   │   ├── DefaultValueFormatter.cs
    │   │   │   ├── DictionaryValueFormatter.cs
    │   │   │   ├── DoubleValueFormatter.cs
    │   │   │   ├── EnumValueFormatter.cs
    │   │   │   ├── EnumerableExtensions.cs
    │   │   │   ├── EnumerableValueFormatter.cs
    │   │   │   ├── ExceptionValueFormatter.cs
    │   │   │   ├── ExpressionValueFormatter.cs
    │   │   │   ├── FormatChild.cs
    │   │   │   ├── FormattedObjectGraph.cs
    │   │   │   ├── Formatter.cs
    │   │   │   ├── FormattingContext.cs
    │   │   │   ├── FormattingOptions.cs
    │   │   │   ├── GuidValueFormatter.cs
    │   │   │   ├── IValueFormatter.cs
    │   │   │   ├── Int16ValueFormatter.cs
    │   │   │   ├── Int32ValueFormatter.cs
    │   │   │   ├── Int64ValueFormatter.cs
    │   │   │   ├── MaxLinesExceededException.cs
    │   │   │   ├── MultidimensionalArrayFormatter.cs
    │   │   │   ├── NullValueFormatter.cs
    │   │   │   ├── PredicateLambdaExpressionValueFormatter.cs
    │   │   │   ├── PropertyInfoFormatter.cs
    │   │   │   ├── SByteValueFormatter.cs
    │   │   │   ├── SingleValueFormatter.cs
    │   │   │   ├── StringValueFormatter.cs
    │   │   │   ├── TaskFormatter.cs
    │   │   │   ├── TimeOnlyValueFormatter.cs
    │   │   │   ├── TimeSpanValueFormatter.cs
    │   │   │   ├── UInt16ValueFormatter.cs
    │   │   │   ├── UInt32ValueFormatter.cs
    │   │   │   ├── UInt64ValueFormatter.cs
    │   │   │   ├── ValueFormatterAttribute.cs
    │   │   │   ├── XAttributeValueFormatter.cs
    │   │   │   ├── XDocumentValueFormatter.cs
    │   │   │   ├── XElementValueFormatter.cs
    │   │   │   └── XmlReaderValueFormatter.cs
    │   │   ├── LessThan.cs
    │   │   ├── MoreThan.cs
    │   │   ├── Numeric
    │   │   │   ├── ByteAssertions.cs
    │   │   │   ├── ComparableTypeAssertions.cs
    │   │   │   ├── DecimalAssertions.cs
    │   │   │   ├── DoubleAssertions.cs
    │   │   │   ├── Int16Assertions.cs
    │   │   │   ├── Int32Assertions.cs
    │   │   │   ├── Int64Assertions.cs
    │   │   │   ├── NullableByteAssertions.cs
    │   │   │   ├── NullableDecimalAssertions.cs
    │   │   │   ├── NullableDoubleAssertions.cs
    │   │   │   ├── NullableInt16Assertions.cs
    │   │   │   ├── NullableInt32Assertions.cs
    │   │   │   ├── NullableInt64Assertions.cs
    │   │   │   ├── NullableNumericAssertions.cs
    │   │   │   ├── NullableSByteAssertions.cs
    │   │   │   ├── NullableSingleAssertions.cs
    │   │   │   ├── NullableUInt16Assertions.cs
    │   │   │   ├── NullableUInt32Assertions.cs
    │   │   │   ├── NullableUInt64Assertions.cs
    │   │   │   ├── NumericAssertions.cs
    │   │   │   ├── SByteAssertions.cs
    │   │   │   ├── SingleAssertions.cs
    │   │   │   ├── UInt16Assertions.cs
    │   │   │   ├── UInt32Assertions.cs
    │   │   │   └── UInt64Assertions.cs
    │   │   ├── NumericAssertionsExtensions.cs
    │   │   ├── ObjectAssertionsExtensions.cs
    │   │   ├── OccurrenceConstraint.cs
    │   │   ├── Polyfill
    │   │   │   ├── StringBuilderExtensions.cs
    │   │   │   └── SystemExtensions.cs
    │   │   ├── Primitives
    │   │   │   ├── BooleanAssertions.cs
    │   │   │   ├── DateOnlyAssertions.cs
    │   │   │   ├── DateTimeAssertions.cs
    │   │   │   ├── DateTimeOffsetAssertions.cs
    │   │   │   ├── DateTimeOffsetRangeAssertions.cs
    │   │   │   ├── DateTimeRangeAssertions.cs
    │   │   │   ├── EnumAssertions.cs
    │   │   │   ├── GuidAssertions.cs
    │   │   │   ├── HttpResponseMessageAssertions.cs
    │   │   │   ├── IStringComparisonStrategy.cs
    │   │   │   ├── NullableBooleanAssertions.cs
    │   │   │   ├── NullableDateOnlyAssertions.cs
    │   │   │   ├── NullableDateTimeAssertions.cs
    │   │   │   ├── NullableDateTimeOffsetAssertions.cs
    │   │   │   ├── NullableEnumAssertions.cs
    │   │   │   ├── NullableGuidAssertions.cs
    │   │   │   ├── NullableSimpleTimeSpanAssertions.cs
    │   │   │   ├── NullableTimeOnlyAssertions.cs
    │   │   │   ├── ObjectAssertions.cs
    │   │   │   ├── ReferenceTypeAssertions.cs
    │   │   │   ├── SimpleTimeSpanAssertions.cs
    │   │   │   ├── StringAssertions.cs
    │   │   │   ├── StringContainsStrategy.cs
    │   │   │   ├── StringEndStrategy.cs
    │   │   │   ├── StringEqualityStrategy.cs
    │   │   │   ├── StringStartStrategy.cs
    │   │   │   ├── StringValidator.cs
    │   │   │   ├── StringValidatorSupportingNull.cs
    │   │   │   ├── StringWildcardMatchingStrategy.cs
    │   │   │   ├── TimeOnlyAssertions.cs
    │   │   │   ├── TimeSpanCondition.cs
    │   │   │   └── TimeSpanPredicate.cs
    │   │   ├── Specialized
    │   │   │   ├── ActionAssertions.cs
    │   │   │   ├── AsyncFunctionAssertions.cs
    │   │   │   ├── DelegateAssertions.cs
    │   │   │   ├── DelegateAssertionsBase.cs
    │   │   │   ├── ExceptionAssertions.cs
    │   │   │   ├── ExecutionTime.cs
    │   │   │   ├── ExecutionTimeAssertions.cs
    │   │   │   ├── FunctionAssertionHelpers.cs
    │   │   │   ├── FunctionAssertions.cs
    │   │   │   ├── GenericAsyncFunctionAssertions.cs
    │   │   │   ├── IExtractExceptions.cs
    │   │   │   ├── MemberExecutionTime.cs
    │   │   │   ├── NonGenericAsyncFunctionAssertions.cs
    │   │   │   ├── TaskCompletionSourceAssertions.cs
    │   │   │   └── TaskCompletionSourceAssertionsBase.cs
    │   │   ├── Streams
    │   │   │   ├── BufferedStreamAssertions.cs
    │   │   │   └── StreamAssertions.cs
    │   │   ├── TypeEnumerableExtensions.cs
    │   │   ├── TypeExtensions.cs
    │   │   ├── Types
    │   │   │   ├── AllTypes.cs
    │   │   │   ├── AssemblyAssertions.cs
    │   │   │   ├── ConstructorInfoAssertions.cs
    │   │   │   ├── MemberInfoAssertions.cs
    │   │   │   ├── MethodBaseAssertions.cs
    │   │   │   ├── MethodInfoAssertions.cs
    │   │   │   ├── MethodInfoSelector.cs
    │   │   │   ├── MethodInfoSelectorAssertions.cs
    │   │   │   ├── PropertyInfoAssertions.cs
    │   │   │   ├── PropertyInfoSelector.cs
    │   │   │   ├── PropertyInfoSelectorAssertions.cs
    │   │   │   ├── TypeAssertions.cs
    │   │   │   ├── TypeSelector.cs
    │   │   │   └── TypeSelectorAssertions.cs
    │   │   ├── Xml
    │   │   │   ├── Equivalency
    │   │   │   │   ├── AttributeData.cs
    │   │   │   │   ├── Failure.cs
    │   │   │   │   ├── Node.cs
    │   │   │   │   ├── XmlIterator.cs
    │   │   │   │   └── XmlReaderValidator.cs
    │   │   │   ├── XAttributeAssertions.cs
    │   │   │   ├── XDocumentAssertions.cs
    │   │   │   ├── XElementAssertions.cs
    │   │   │   ├── XmlElementAssertions.cs
    │   │   │   ├── XmlNodeAssertions.cs
    │   │   │   └── XmlNodeFormatter.cs
    │   │   └── XmlAssertionExtensions.cs
    │   ├── FluentAssertions.png
    │   └── FluentAssertions.snk
    ├── Tests
    │   ├── Approval.Tests
    │   │   ├── ApiApproval.cs
    │   │   ├── Approval.Tests.csproj
    │   │   └── ApprovedApi
    │   │       └── FluentAssertions
    │   │           ├── net47.verified.txt
    │   │           ├── net6.0.verified.txt
    │   │           ├── netstandard2.0.verified.txt
    │   │           └── netstandard2.1.verified.txt
    │   ├── AssemblyA
    │   │   ├── AssemblyA.csproj
    │   │   └── ClassA.cs
    │   ├── AssemblyB
    │   │   ├── AssemblyB.csproj
    │   │   ├── ClassB.cs
    │   │   └── ClassC.cs
    │   ├── Benchmarks
    │   │   ├── BeEquivalentTo.cs
    │   │   ├── BeEquivalentToWithDeeplyNestedStructures.cs
    │   │   ├── Benchmarks.csproj
    │   │   ├── CheckIfMemberIsBrowsable.cs
    │   │   ├── CollectionEqual.cs
    │   │   ├── HasValueSemanticsBenchmarks.cs
    │   │   ├── Issue1657.cs
    │   │   ├── LargeObjectGraph.cs
    │   │   ├── NestedClass.cs
    │   │   ├── Program.cs
    │   │   ├── TypeMemberReflectorBenchmarks.cs
    │   │   └── UsersOfGetClosedGenericInterfaces.cs
    │   ├── Default.testsettings
    │   ├── ExampleExtensions
    │   │   ├── AssemblyInfo.cs
    │   │   ├── ExampleExtensions.csproj
    │   │   └── StringAssertionExtensions.cs
    │   ├── FSharp.Specs
    │   │   ├── FSharp.Specs.fsproj
    │   │   └── FSharpSpecs.fs
    │   ├── FluentAssertions.Equivalency.Specs
    │   │   ├── AssertionRuleSpecs.cs
    │   │   ├── BasicSpecs.cs
    │   │   ├── CollectionSpecs.cs
    │   │   ├── CyclicReferencesSpecs.cs
    │   │   ├── DateTimePropertiesSpecs.cs
    │   │   ├── DictionarySpecs.cs
    │   │   ├── EnumSpecs.cs
    │   │   ├── ExtensibilitySpecs.cs
    │   │   ├── FluentAssertions.Equivalency.Specs.csproj
    │   │   ├── IsExternalInit.cs
    │   │   ├── MemberConversionSpecs.cs
    │   │   ├── MemberLessObjectsSpecs.cs
    │   │   ├── MemberMatchingSpecs.cs
    │   │   ├── NestedPropertiesSpecs.cs
    │   │   ├── NonEquivalencySpecs.cs
    │   │   ├── ObjectReferenceSpecs.cs
    │   │   ├── RecordSpecs.cs
    │   │   ├── SelectionRulesSpecs.Accessibility.cs
    │   │   ├── SelectionRulesSpecs.Basic.cs
    │   │   ├── SelectionRulesSpecs.Browsability.cs
    │   │   ├── SelectionRulesSpecs.Covariance.cs
    │   │   ├── SelectionRulesSpecs.Excluding.cs
    │   │   ├── SelectionRulesSpecs.Including.cs
    │   │   ├── SelectionRulesSpecs.Interfaces.cs
    │   │   ├── SelectionRulesSpecs.MemberHiding.cs
    │   │   ├── SelectionRulesSpecs.cs
    │   │   ├── TestTypes.cs
    │   │   ├── TupleSpecs.cs
    │   │   └── XmlSpecs.cs
    │   ├── FluentAssertions.Extensibility.Specs
    │   │   ├── AssertionEngineInitializer.cs
    │   │   ├── ExtensionAssemblyAttributeSpecs.cs
    │   │   ├── FluentAssertions.Extensibility.Specs.csproj
    │   │   └── Usings.cs
    │   ├── FluentAssertions.Specs
    │   │   ├── AndWhichConstraintSpecs.cs
    │   │   ├── AssertionExtensions.cs
    │   │   ├── AssertionExtensionsSpecs.cs
    │   │   ├── AssertionFailureSpecs.cs
    │   │   ├── AssertionOptionsSpecs.cs
    │   │   ├── Collections
    │   │   │   ├── CollectionAssertionSpecs.AllBeAssignableTo.cs
    │   │   │   ├── CollectionAssertionSpecs.AllBeEquivalentTo.cs
    │   │   │   ├── CollectionAssertionSpecs.AllBeOfType.cs
    │   │   │   ├── CollectionAssertionSpecs.AllSatisfy.cs
    │   │   │   ├── CollectionAssertionSpecs.BeEmpty.cs
    │   │   │   ├── CollectionAssertionSpecs.BeEquivalentTo.cs
    │   │   │   ├── CollectionAssertionSpecs.BeInAscendingOrder.cs
    │   │   │   ├── CollectionAssertionSpecs.BeInDescendingOrder.cs
    │   │   │   ├── CollectionAssertionSpecs.BeNull.cs
    │   │   │   ├── CollectionAssertionSpecs.BeNullOrEmpty.cs
    │   │   │   ├── CollectionAssertionSpecs.BeSubsetOf.cs
    │   │   │   ├── CollectionAssertionSpecs.Contain.cs
    │   │   │   ├── CollectionAssertionSpecs.ContainEquivalentOf.cs
    │   │   │   ├── CollectionAssertionSpecs.ContainInConsecutiveOrder.cs
    │   │   │   ├── CollectionAssertionSpecs.ContainInOrder.cs
    │   │   │   ├── CollectionAssertionSpecs.ContainItemsAssignableTo.cs
    │   │   │   ├── CollectionAssertionSpecs.ContainSingle.cs
    │   │   │   ├── CollectionAssertionSpecs.EndWith.cs
    │   │   │   ├── CollectionAssertionSpecs.Equal.cs
    │   │   │   ├── CollectionAssertionSpecs.HaveCount.cs
    │   │   │   ├── CollectionAssertionSpecs.HaveCountGreaterThan.cs
    │   │   │   ├── CollectionAssertionSpecs.HaveCountGreaterThanOrEqualTo.cs
    │   │   │   ├── CollectionAssertionSpecs.HaveCountLessThan.cs
    │   │   │   ├── CollectionAssertionSpecs.HaveCountLessThanOrEqualTo.cs
    │   │   │   ├── CollectionAssertionSpecs.HaveElementAt.cs
    │   │   │   ├── CollectionAssertionSpecs.HaveElementPreceding.cs
    │   │   │   ├── CollectionAssertionSpecs.HaveElementSucceeding.cs
    │   │   │   ├── CollectionAssertionSpecs.HaveSameCount.cs
    │   │   │   ├── CollectionAssertionSpecs.IntersectWith.cs
    │   │   │   ├── CollectionAssertionSpecs.NotContainItemsAssignableTo.cs
    │   │   │   ├── CollectionAssertionSpecs.NotContainNulls.cs
    │   │   │   ├── CollectionAssertionSpecs.OnlyContain.cs
    │   │   │   ├── CollectionAssertionSpecs.OnlyHaveUniqueItems.cs
    │   │   │   ├── CollectionAssertionSpecs.Satisfy.cs
    │   │   │   ├── CollectionAssertionSpecs.SatisfyRespectively.cs
    │   │   │   ├── CollectionAssertionSpecs.StartWith.cs
    │   │   │   ├── CollectionAssertionSpecs.cs
    │   │   │   ├── GenericCollectionAssertionOfStringSpecs.AllSatisfy.cs
    │   │   │   ├── GenericCollectionAssertionOfStringSpecs.BeEmpty.cs
    │   │   │   ├── GenericCollectionAssertionOfStringSpecs.BeEquivalentTo.cs
    │   │   │   ├── GenericCollectionAssertionOfStringSpecs.BeNull.cs
    │   │   │   ├── GenericCollectionAssertionOfStringSpecs.BeSubsetOf.cs
    │   │   │   ├── GenericCollectionAssertionOfStringSpecs.Contain.cs
    │   │   │   ├── GenericCollectionAssertionOfStringSpecs.ContainInOrder.cs
    │   │   │   ├── GenericCollectionAssertionOfStringSpecs.ContainMatch.cs
    │   │   │   ├── GenericCollectionAssertionOfStringSpecs.Equal.cs
    │   │   │   ├── GenericCollectionAssertionOfStringSpecs.HaveCount.cs
    │   │   │   ├── GenericCollectionAssertionOfStringSpecs.HaveElementAt.cs
    │   │   │   ├── GenericCollectionAssertionOfStringSpecs.HaveSameCount.cs
    │   │   │   ├── GenericCollectionAssertionOfStringSpecs.IntersectWith.cs
    │   │   │   ├── GenericCollectionAssertionOfStringSpecs.NotContainNulls.cs
    │   │   │   ├── GenericCollectionAssertionOfStringSpecs.OnlyHaveUniqueItems.cs
    │   │   │   ├── GenericCollectionAssertionOfStringSpecs.SatisfyRespectively.cs
    │   │   │   ├── GenericCollectionAssertionOfStringSpecs.cs
    │   │   │   ├── GenericDictionaryAssertionSpecs.BeEmpty.cs
    │   │   │   ├── GenericDictionaryAssertionSpecs.BeNull.cs
    │   │   │   ├── GenericDictionaryAssertionSpecs.Contain.cs
    │   │   │   ├── GenericDictionaryAssertionSpecs.ContainKey.cs
    │   │   │   ├── GenericDictionaryAssertionSpecs.ContainKeys.cs
    │   │   │   ├── GenericDictionaryAssertionSpecs.ContainValue.cs
    │   │   │   ├── GenericDictionaryAssertionSpecs.ContainValues.cs
    │   │   │   ├── GenericDictionaryAssertionSpecs.Equal.cs
    │   │   │   ├── GenericDictionaryAssertionSpecs.HaveCount.cs
    │   │   │   ├── GenericDictionaryAssertionSpecs.HaveCountGreaterThan.cs
    │   │   │   ├── GenericDictionaryAssertionSpecs.HaveCountGreaterThanOrEqualTo.cs
    │   │   │   ├── GenericDictionaryAssertionSpecs.HaveCountLessThan.cs
    │   │   │   ├── GenericDictionaryAssertionSpecs.HaveCountLessThanOrEqualTo.cs
    │   │   │   ├── GenericDictionaryAssertionSpecs.HaveSameCount.cs
    │   │   │   └── GenericDictionaryAssertionSpecs.cs
    │   │   ├── Common
    │   │   │   ├── ConfigurationSpecs.cs
    │   │   │   ├── MemberInfoExtensions.cs
    │   │   │   └── TimeSpanExtensions.cs
    │   │   ├── ConfigurationSpecs.cs
    │   │   ├── CultureAwareTesting
    │   │   │   ├── CulturedFactAttribute.cs
    │   │   │   ├── CulturedFactAttributeDiscoverer.cs
    │   │   │   ├── CulturedTheoryAttribute.cs
    │   │   │   ├── CulturedTheoryAttributeDiscoverer.cs
    │   │   │   ├── CulturedXunitTestCase.cs
    │   │   │   ├── CulturedXunitTheoryTestCase.cs
    │   │   │   ├── CulturedXunitTheoryTestCaseRunner.cs
    │   │   │   └── DictionaryExtensions.cs
    │   │   ├── Events
    │   │   │   └── EventAssertionSpecs.cs
    │   │   ├── Exceptions
    │   │   │   ├── AsyncFunctionExceptionAssertionSpecs.cs
    │   │   │   ├── ExceptionAssertionSpecs.cs
    │   │   │   ├── FunctionExceptionAssertionSpecs.cs
    │   │   │   ├── InnerExceptionSpecs.cs
    │   │   │   ├── InvokingActionSpecs.cs
    │   │   │   ├── InvokingFunctionSpecs.cs
    │   │   │   ├── MiscellaneousExceptionSpecs.cs
    │   │   │   ├── NotThrowSpecs.cs
    │   │   │   ├── OuterExceptionSpecs.cs
    │   │   │   └── ThrowAssertionsSpecs.cs
    │   │   ├── Execution
    │   │   │   ├── AssertionScope.ChainingApiSpecs.cs
    │   │   │   ├── AssertionScope.ContextDataSpecs.cs
    │   │   │   ├── AssertionScope.MessageFormatingSpecs.cs
    │   │   │   ├── AssertionScopeSpecs.cs
    │   │   │   ├── CallerIdentifierSpecs.cs
    │   │   │   ├── FallbackTestFrameworkTests.cs
    │   │   │   ├── GivenSelectorSpecs.cs
    │   │   │   ├── IgnoringFailuresAssertionStrategy.cs
    │   │   │   └── TestFrameworkProviderTests.cs
    │   │   ├── ExtensibilitySpecs.cs
    │   │   ├── Extensions
    │   │   │   ├── FluentActionsSpecs.cs
    │   │   │   ├── FluentDateTimeSpecs.cs
    │   │   │   ├── ObjectCastingSpecs.cs
    │   │   │   ├── ObjectExtensionsSpecs.cs
    │   │   │   └── TimeSpanConversionExtensionSpecs.cs
    │   │   ├── FakeClock.cs
    │   │   ├── FindAssembly.cs
    │   │   ├── FluentAssertions.Specs.csproj
    │   │   ├── Formatting
    │   │   │   ├── DateTimeOffsetValueFormatterSpecs.cs
    │   │   │   ├── EnumerableExtensionsSpecs.cs
    │   │   │   ├── FormatterSpecs.cs
    │   │   │   ├── MultidimensionalArrayFormatterSpecs.cs
    │   │   │   ├── PredicateLambdaExpressionValueFormatterSpecs.cs
    │   │   │   └── TimeSpanFormatterSpecs.cs
    │   │   ├── IsExternalInit.cs
    │   │   ├── Numeric
    │   │   │   ├── ComparableSpecs.cs
    │   │   │   ├── NullableNumericAssertionSpecs.Be.cs
    │   │   │   ├── NullableNumericAssertionSpecs.BeApproximately.cs
    │   │   │   ├── NullableNumericAssertionSpecs.BeGreaterThan.cs
    │   │   │   ├── NullableNumericAssertionSpecs.BeGreaterThanOrEqualTo.cs
    │   │   │   ├── NullableNumericAssertionSpecs.BeInRange.cs
    │   │   │   ├── NullableNumericAssertionSpecs.BeLessThan.cs
    │   │   │   ├── NullableNumericAssertionSpecs.BeLessThanOrEqualTo.cs
    │   │   │   ├── NullableNumericAssertionSpecs.BeNegative.cs
    │   │   │   ├── NullableNumericAssertionSpecs.BeNull.cs
    │   │   │   ├── NullableNumericAssertionSpecs.BePositive.cs
    │   │   │   ├── NullableNumericAssertionSpecs.HaveValue.cs
    │   │   │   ├── NullableNumericAssertionSpecs.Match.cs
    │   │   │   ├── NullableNumericAssertionSpecs.cs
    │   │   │   ├── NumericAssertionSpecs.Be.cs
    │   │   │   ├── NumericAssertionSpecs.BeApproximately.cs
    │   │   │   ├── NumericAssertionSpecs.BeCloseTo.cs
    │   │   │   ├── NumericAssertionSpecs.BeGreaterThan.cs
    │   │   │   ├── NumericAssertionSpecs.BeGreaterThanOrEqualTo.cs
    │   │   │   ├── NumericAssertionSpecs.BeInRange.cs
    │   │   │   ├── NumericAssertionSpecs.BeLessThan.cs
    │   │   │   ├── NumericAssertionSpecs.BeLessThanOrEqualTo.cs
    │   │   │   ├── NumericAssertionSpecs.BeNegative.cs
    │   │   │   ├── NumericAssertionSpecs.BeOneOf.cs
    │   │   │   ├── NumericAssertionSpecs.BePositive.cs
    │   │   │   ├── NumericAssertionSpecs.Match.cs
    │   │   │   ├── NumericAssertionSpecs.cs
    │   │   │   └── NumericDifferenceAssertionsSpecs.cs
    │   │   ├── OccurrenceConstraintSpecs.cs
    │   │   ├── Primitives
    │   │   │   ├── BooleanAssertionSpecs.cs
    │   │   │   ├── DateOnlyAssertionSpecs.Be.cs
    │   │   │   ├── DateOnlyAssertionSpecs.BeAfter.cs
    │   │   │   ├── DateOnlyAssertionSpecs.BeBefore.cs
    │   │   │   ├── DateOnlyAssertionSpecs.BeOneOf.cs
    │   │   │   ├── DateOnlyAssertionSpecs.HaveDay.cs
    │   │   │   ├── DateOnlyAssertionSpecs.HaveMonth.cs
    │   │   │   ├── DateOnlyAssertionSpecs.HaveYear.cs
    │   │   │   ├── DateOnlyAssertionSpecs.cs
    │   │   │   ├── DateTimeAssertionSpecs.Be.cs
    │   │   │   ├── DateTimeAssertionSpecs.BeAfter.cs
    │   │   │   ├── DateTimeAssertionSpecs.BeAtLeast.cs
    │   │   │   ├── DateTimeAssertionSpecs.BeBefore.cs
    │   │   │   ├── DateTimeAssertionSpecs.BeCloseTo.cs
    │   │   │   ├── DateTimeAssertionSpecs.BeExactly.cs
    │   │   │   ├── DateTimeAssertionSpecs.BeIn.cs
    │   │   │   ├── DateTimeAssertionSpecs.BeLessThan.cs
    │   │   │   ├── DateTimeAssertionSpecs.BeMoreThan.cs
    │   │   │   ├── DateTimeAssertionSpecs.BeNull.cs
    │   │   │   ├── DateTimeAssertionSpecs.BeOnOrAfter.cs
    │   │   │   ├── DateTimeAssertionSpecs.BeOnOrBefore.cs
    │   │   │   ├── DateTimeAssertionSpecs.BeOneOf.cs
    │   │   │   ├── DateTimeAssertionSpecs.BeSameDateAs.cs
    │   │   │   ├── DateTimeAssertionSpecs.BeWithin.cs
    │   │   │   ├── DateTimeAssertionSpecs.HaveDay.cs
    │   │   │   ├── DateTimeAssertionSpecs.HaveHour.cs
    │   │   │   ├── DateTimeAssertionSpecs.HaveMinute.cs
    │   │   │   ├── DateTimeAssertionSpecs.HaveMonth.cs
    │   │   │   ├── DateTimeAssertionSpecs.HaveSecond.cs
    │   │   │   ├── DateTimeAssertionSpecs.HaveValue.cs
    │   │   │   ├── DateTimeAssertionSpecs.HaveYear.cs
    │   │   │   ├── DateTimeAssertionSpecs.cs
    │   │   │   ├── DateTimeOffsetAssertionSpecs.Be.cs
    │   │   │   ├── DateTimeOffsetAssertionSpecs.BeAfter.cs
    │   │   │   ├── DateTimeOffsetAssertionSpecs.BeAtLeast.cs
    │   │   │   ├── DateTimeOffsetAssertionSpecs.BeBefore.cs
    │   │   │   ├── DateTimeOffsetAssertionSpecs.BeCloseTo.cs
    │   │   │   ├── DateTimeOffsetAssertionSpecs.BeExactly.cs
    │   │   │   ├── DateTimeOffsetAssertionSpecs.BeLessThan.cs
    │   │   │   ├── DateTimeOffsetAssertionSpecs.BeMoreThan.cs
    │   │   │   ├── DateTimeOffsetAssertionSpecs.BeNull.cs
    │   │   │   ├── DateTimeOffsetAssertionSpecs.BeOnOrAfter.cs
    │   │   │   ├── DateTimeOffsetAssertionSpecs.BeOnOrBefore.cs
    │   │   │   ├── DateTimeOffsetAssertionSpecs.BeOneOf.cs
    │   │   │   ├── DateTimeOffsetAssertionSpecs.BeSameDateAs.cs
    │   │   │   ├── DateTimeOffsetAssertionSpecs.BeWithin.cs
    │   │   │   ├── DateTimeOffsetAssertionSpecs.HaveDay.cs
    │   │   │   ├── DateTimeOffsetAssertionSpecs.HaveHour.cs
    │   │   │   ├── DateTimeOffsetAssertionSpecs.HaveMinute.cs
    │   │   │   ├── DateTimeOffsetAssertionSpecs.HaveMonth.cs
    │   │   │   ├── DateTimeOffsetAssertionSpecs.HaveOffset.cs
    │   │   │   ├── DateTimeOffsetAssertionSpecs.HaveSecond.cs
    │   │   │   ├── DateTimeOffsetAssertionSpecs.HaveValue.cs
    │   │   │   ├── DateTimeOffsetAssertionSpecs.HaveYear.cs
    │   │   │   ├── DateTimeOffsetAssertionSpecs.cs
    │   │   │   ├── EnumAssertionSpecs.cs
    │   │   │   ├── GuidAssertionSpecs.cs
    │   │   │   ├── HttpResponseMessageAssertionSpecs.cs
    │   │   │   ├── NullableBooleanAssertionSpecs.cs
    │   │   │   ├── NullableGuidAssertionSpecs.cs
    │   │   │   ├── NullableSimpleTimeSpanAssertionSpecs.cs
    │   │   │   ├── ObjectAssertionSpecs.Be.cs
    │   │   │   ├── ObjectAssertionSpecs.BeAssignableTo.cs
    │   │   │   ├── ObjectAssertionSpecs.BeDataContractSerializable.cs
    │   │   │   ├── ObjectAssertionSpecs.BeEquivalentTo.cs
    │   │   │   ├── ObjectAssertionSpecs.BeNull.cs
    │   │   │   ├── ObjectAssertionSpecs.BeOfType.cs
    │   │   │   ├── ObjectAssertionSpecs.BeOneOf.cs
    │   │   │   ├── ObjectAssertionSpecs.BeXmlSerializable.cs
    │   │   │   ├── ObjectAssertionSpecs.cs
    │   │   │   ├── ReferenceTypeAssertionsSpecs.cs
    │   │   │   ├── SimpleTimeSpanAssertionSpecs.cs
    │   │   │   ├── StringAssertionSpecs.Be.cs
    │   │   │   ├── StringAssertionSpecs.BeEmpty.cs
    │   │   │   ├── StringAssertionSpecs.BeEquivalentTo.cs
    │   │   │   ├── StringAssertionSpecs.BeLowerCased.cs
    │   │   │   ├── StringAssertionSpecs.BeNullOrEmpty.cs
    │   │   │   ├── StringAssertionSpecs.BeNullOrWhiteSpace.cs
    │   │   │   ├── StringAssertionSpecs.BeOneOf.cs
    │   │   │   ├── StringAssertionSpecs.BeUpperCased.cs
    │   │   │   ├── StringAssertionSpecs.Contain.cs
    │   │   │   ├── StringAssertionSpecs.ContainAll.cs
    │   │   │   ├── StringAssertionSpecs.ContainAny.cs
    │   │   │   ├── StringAssertionSpecs.ContainEquivalentOf.cs
    │   │   │   ├── StringAssertionSpecs.EndWith.cs
    │   │   │   ├── StringAssertionSpecs.EndWithEquivalentOf.cs
    │   │   │   ├── StringAssertionSpecs.HaveLength.cs
    │   │   │   ├── StringAssertionSpecs.Match.cs
    │   │   │   ├── StringAssertionSpecs.MatchEquivalentOf.cs
    │   │   │   ├── StringAssertionSpecs.MatchRegex.cs
    │   │   │   ├── StringAssertionSpecs.StartWith.cs
    │   │   │   ├── StringAssertionSpecs.StartWithEquivalentOf.cs
    │   │   │   ├── StringAssertionSpecs.cs
    │   │   │   ├── StringComparisonSpecs.cs
    │   │   │   ├── TimeOnlyAssertionSpecs.Be.cs
    │   │   │   ├── TimeOnlyAssertionSpecs.BeAfter.cs
    │   │   │   ├── TimeOnlyAssertionSpecs.BeBefore.cs
    │   │   │   ├── TimeOnlyAssertionSpecs.BeCloseTo.cs
    │   │   │   ├── TimeOnlyAssertionSpecs.BeOneOf.cs
    │   │   │   ├── TimeOnlyAssertionSpecs.HaveHours.cs
    │   │   │   ├── TimeOnlyAssertionSpecs.HaveMilliseconds.cs
    │   │   │   ├── TimeOnlyAssertionSpecs.HaveMinutes.cs
    │   │   │   ├── TimeOnlyAssertionSpecs.HaveSeconds.cs
    │   │   │   └── TimeOnlyAssertionSpecs.cs
    │   │   ├── Specialized
    │   │   │   ├── ActionAssertionSpecs.cs
    │   │   │   ├── AggregateExceptionAssertionSpecs.cs
    │   │   │   ├── AssemblyAssertionSpecs.cs
    │   │   │   ├── DelegateAssertionSpecs.cs
    │   │   │   ├── ExecutionTimeAssertionsSpecs.cs
    │   │   │   ├── TaskAssertionSpecs.cs
    │   │   │   ├── TaskCompletionSourceAssertionSpecs.cs
    │   │   │   └── TaskOfTAssertionSpecs.cs
    │   │   ├── Streams
    │   │   │   ├── BufferedStreamAssertionSpecs.cs
    │   │   │   └── StreamAssertionSpecs.cs
    │   │   ├── TestTimer.cs
    │   │   ├── TypeEnumerableExtensionsSpecs.cs
    │   │   ├── Types
    │   │   │   ├── MethodBaseAssertionSpecs.cs
    │   │   │   ├── MethodInfoAssertionSpecs.cs
    │   │   │   ├── MethodInfoSelectorAssertionSpecs.cs
    │   │   │   ├── MethodInfoSelectorSpecs.cs
    │   │   │   ├── PropertyInfoAssertionSpecs.cs
    │   │   │   ├── PropertyInfoSelectorAssertionSpecs.cs
    │   │   │   ├── PropertyInfoSelectorSpecs.cs
    │   │   │   ├── TypeAssertionSpecs.Be.cs
    │   │   │   ├── TypeAssertionSpecs.BeAbstract.cs
    │   │   │   ├── TypeAssertionSpecs.BeAssignableTo.cs
    │   │   │   ├── TypeAssertionSpecs.BeDecoratedWith.cs
    │   │   │   ├── TypeAssertionSpecs.BeDecoratedWithOrInherit.cs
    │   │   │   ├── TypeAssertionSpecs.BeDerivedFrom.cs
    │   │   │   ├── TypeAssertionSpecs.BeSealed.cs
    │   │   │   ├── TypeAssertionSpecs.BeStatic.cs
    │   │   │   ├── TypeAssertionSpecs.HaveAccessModifier.cs
    │   │   │   ├── TypeAssertionSpecs.HaveConstructor.cs
    │   │   │   ├── TypeAssertionSpecs.HaveDefaultConstructor.cs
    │   │   │   ├── TypeAssertionSpecs.HaveExplicitConversionOperator.cs
    │   │   │   ├── TypeAssertionSpecs.HaveExplicitMethod.cs
    │   │   │   ├── TypeAssertionSpecs.HaveExplicitProperty.cs
    │   │   │   ├── TypeAssertionSpecs.HaveImplicitConversionOperator.cs
    │   │   │   ├── TypeAssertionSpecs.HaveIndexer.cs
    │   │   │   ├── TypeAssertionSpecs.HaveMethod.cs
    │   │   │   ├── TypeAssertionSpecs.HaveProperty.cs
    │   │   │   ├── TypeAssertionSpecs.Implement.cs
    │   │   │   ├── TypeAssertionSpecs.cs
    │   │   │   ├── TypeExtensionsSpecs.cs
    │   │   │   ├── TypeSelectorAssertionSpecs.cs
    │   │   │   └── TypeSelectorSpecs.cs
    │   │   ├── UIFactsDefinition.cs
    │   │   └── Xml
    │   │       ├── XAttributeAssertionSpecs.cs
    │   │       ├── XAttributeFormatterSpecs.cs
    │   │       ├── XDocumentAssertionSpecs.cs
    │   │       ├── XDocumentFormatterSpecs.cs
    │   │       ├── XElementAssertionSpecs.cs
    │   │       ├── XElementFormatterSpecs.cs
    │   │       ├── XmlElementAssertionSpecs.cs
    │   │       ├── XmlNodeAssertionSpecs.cs
    │   │       └── XmlNodeFormatterSpecs.cs
    │   ├── TestFrameworks
    │   │   ├── MSTestV2.Specs
    │   │   │   ├── FrameworkSpecs.cs
    │   │   │   └── MSTestV2.Specs.csproj
    │   │   ├── MSpec.Specs
    │   │   │   ├── FrameworkSpecs.cs
    │   │   │   └── MSpec.Specs.csproj
    │   │   ├── NUnit3.Specs
    │   │   │   ├── FrameworkSpecs.cs
    │   │   │   └── NUnit3.Specs.csproj
    │   │   ├── NUnit4.Specs
    │   │   │   ├── FrameworkSpecs.cs
    │   │   │   └── NUnit4.Specs.csproj
    │   │   └── XUnit2.Specs
    │   │       ├── FrameworkSpecs.cs
    │   │       └── XUnit2.Specs.csproj
    │   ├── UWP.Specs
    │   │   ├── App.xaml
    │   │   ├── App.xaml.cs
    │   │   ├── Assets
    │   │   │   ├── LockScreenLogo.scale-200.png
    │   │   │   ├── SplashScreen.scale-200.png
    │   │   │   ├── Square150x150Logo.scale-200.png
    │   │   │   ├── Square44x44Logo.scale-200.png
    │   │   │   ├── Square44x44Logo.targetsize-24_altform-unplated.png
    │   │   │   ├── StoreLogo.png
    │   │   │   └── Wide310x150Logo.scale-200.png
    │   │   ├── Package.appxmanifest
    │   │   ├── Properties
    │   │   │   ├── AssemblyInfo.cs
    │   │   │   └── Default.rd.xml
    │   │   ├── UWP.Specs.csproj
    │   │   └── UwpSpecs.cs
    │   └── VB.Specs
    │       ├── VB.Specs.vbproj
    │       └── VBSpecs.vb
    ├── build.cmd
    ├── build.ps1
    ├── build.sh
    ├── cSpell.json
    ├── docs
    │   ├── CNAME
    │   ├── Gemfile
    │   ├── Gemfile.lock
    │   ├── LICENSE.txt
    │   ├── README.md
    │   ├── Rakefile
    │   ├── _config.yml
    │   ├── _data
    │   │   ├── mstest-migration
    │   │   │   ├── assert.yml
    │   │   │   ├── collectionAssert.yml
    │   │   │   ├── exceptions.yml
    │   │   │   └── stringAssert.yml
    │   │   ├── navigation.yml
    │   │   ├── tips
    │   │   │   ├── collections.yml
    │   │   │   ├── comparable.yml
    │   │   │   ├── datetimes.yml
    │   │   │   ├── dictionaries.yml
    │   │   │   ├── exceptions.yml
    │   │   │   ├── nullables.yml
    │   │   │   ├── strings.yml
    │   │   │   └── types.yml
    │   │   └── ui-text.yml
    │   ├── _includes
    │   │   ├── analytics-providers
    │   │   │   ├── custom.html
    │   │   │   ├── google-gtag.html
    │   │   │   ├── google-universal.html
    │   │   │   └── google.html
    │   │   ├── analytics.html
    │   │   ├── archive-single.html
    │   │   ├── assertion-comparison.html
    │   │   ├── author-profile-custom-links.html
    │   │   ├── author-profile.html
    │   │   ├── base_path
    │   │   ├── breadcrumbs.html
    │   │   ├── browser-upgrade.html
    │   │   ├── category-list.html
    │   │   ├── comment.html
    │   │   ├── comments-providers
    │   │   │   ├── custom.html
    │   │   │   ├── discourse.html
    │   │   │   ├── disqus.html
    │   │   │   ├── facebook.html
    │   │   │   ├── google-plus.html
    │   │   │   ├── scripts.html
    │   │   │   ├── staticman.html
    │   │   │   └── staticman_v2.html
    │   │   ├── comments.html
    │   │   ├── documents-collection.html
    │   │   ├── editlink.html
    │   │   ├── feature_row
    │   │   ├── figure
    │   │   ├── footer
    │   │   │   └── custom.html
    │   │   ├── footer.html
    │   │   ├── gallery
    │   │   ├── group-by-array
    │   │   ├── head
    │   │   │   └── custom.html
    │   │   ├── head.html
    │   │   ├── masthead.html
    │   │   ├── nav_list
    │   │   ├── page__hero.html
    │   │   ├── page__hero_video.html
    │   │   ├── page__taxonomy.html
    │   │   ├── paginator.html
    │   │   ├── post_pagination.html
    │   │   ├── posts-category.html
    │   │   ├── posts-tag.html
    │   │   ├── read-time.html
    │   │   ├── scripts.html
    │   │   ├── search
    │   │   │   ├── algolia-search-scripts.html
    │   │   │   ├── lunr-search-scripts.html
    │   │   │   └── search_form.html
    │   │   ├── seo.html
    │   │   ├── sidebar-ad.html
    │   │   ├── sidebar.html
    │   │   ├── social-share.html
    │   │   ├── tag-list.html
    │   │   ├── toc
    │   │   ├── toc.html
    │   │   ├── twitter.html
    │   │   └── video
    │   ├── _layouts
    │   │   ├── archive-taxonomy.html
    │   │   ├── archive.html
    │   │   ├── categories.html
    │   │   ├── category.html
    │   │   ├── collection.html
    │   │   ├── compress.html
    │   │   ├── default.html
    │   │   ├── home.html
    │   │   ├── posts.html
    │   │   ├── search.html
    │   │   ├── single.html
    │   │   ├── splash.html
    │   │   ├── tag.html
    │   │   └── tags.html
    │   ├── _pages
    │   │   ├── about.md
    │   │   ├── assemblies.md
    │   │   ├── basicassertions.md
    │   │   ├── booleans.md
    │   │   ├── collections.md
    │   │   ├── datetimespans.md
    │   │   ├── dictionaries.md
    │   │   ├── enums.md
    │   │   ├── eventmonitoring.md
    │   │   ├── exceptions.md
    │   │   ├── executiontime.md
    │   │   ├── extensibility.md
    │   │   ├── guids.md
    │   │   ├── httpresponsemessages.md
    │   │   ├── introduction.md
    │   │   ├── nullabletypes.md
    │   │   ├── numerictypes.md
    │   │   ├── objectgraphs.md
    │   │   ├── releases.md
    │   │   ├── specialized.md
    │   │   ├── streams.md
    │   │   ├── strings.md
    │   │   ├── tips.md
    │   │   ├── typesandmethods.md
    │   │   ├── upgradingtov6.md
    │   │   ├── upgradingtov7.md
    │   │   └── xml.md
    │   ├── _sass
    │   │   ├── minimal-mistakes
    │   │   │   ├── _animations.scss
    │   │   │   ├── _archive.scss
    │   │   │   ├── _base.scss
    │   │   │   ├── _buttons.scss
    │   │   │   ├── _footer.scss
    │   │   │   ├── _forms.scss
    │   │   │   ├── _masthead.scss
    │   │   │   ├── _mixins.scss
    │   │   │   ├── _navigation.scss
    │   │   │   ├── _notices.scss
    │   │   │   ├── _page.scss
    │   │   │   ├── _print.scss
    │   │   │   ├── _reset.scss
    │   │   │   ├── _search.scss
    │   │   │   ├── _sidebar.scss
    │   │   │   ├── _syntax.scss
    │   │   │   ├── _tables.scss
    │   │   │   ├── _utilities.scss
    │   │   │   ├── _variables.scss
    │   │   │   ├── skins
    │   │   │   │   └── _default.scss
    │   │   │   └── vendor
    │   │   │       ├── breakpoint
    │   │   │       │   ├── _breakpoint.scss
    │   │   │       │   ├── _context.scss
    │   │   │       │   ├── _helpers.scss
    │   │   │       │   ├── _legacy-settings.scss
    │   │   │       │   ├── _no-query.scss
    │   │   │       │   ├── _parsers.scss
    │   │   │       │   ├── _respond-to.scss
    │   │   │       │   ├── _settings.scss
    │   │   │       │   └── parsers
    │   │   │       │       ├── _double.scss
    │   │   │       │       ├── _query.scss
    │   │   │       │       ├── _resolution.scss
    │   │   │       │       ├── _single.scss
    │   │   │       │       ├── _triple.scss
    │   │   │       │       ├── double
    │   │   │       │       │   ├── _default-pair.scss
    │   │   │       │       │   ├── _default.scss
    │   │   │       │       │   └── _double-string.scss
    │   │   │       │       ├── resolution
    │   │   │       │       │   └── _resolution.scss
    │   │   │       │       ├── single
    │   │   │       │       │   └── _default.scss
    │   │   │       │       └── triple
    │   │   │       │           └── _default.scss
    │   │   │       ├── magnific-popup
    │   │   │       │   ├── _magnific-popup.scss
    │   │   │       │   └── _settings.scss
    │   │   │       └── susy
    │   │   │           ├── _su.scss
    │   │   │           ├── _susy-prefix.scss
    │   │   │           ├── _susy.scss
    │   │   │           ├── plugins
    │   │   │           │   ├── _svg-grid.scss
    │   │   │           │   └── svg-grid
    │   │   │           │       ├── _prefix.scss
    │   │   │           │       ├── _svg-api.scss
    │   │   │           │       ├── _svg-grid-math.scss
    │   │   │           │       ├── _svg-settings.scss
    │   │   │           │       ├── _svg-unprefix.scss
    │   │   │           │       └── _svg-utilities.scss
    │   │   │           └── susy
    │   │   │               ├── _api.scss
    │   │   │               ├── _normalize.scss
    │   │   │               ├── _parse.scss
    │   │   │               ├── _settings.scss
    │   │   │               ├── _su-math.scss
    │   │   │               ├── _su-validate.scss
    │   │   │               ├── _syntax-helpers.scss
    │   │   │               ├── _unprefix.scss
    │   │   │               └── _utilities.scss
    │   │   └── minimal-mistakes.scss
    │   ├── ads.txt
    │   ├── assets
    │   │   ├── css
    │   │   │   └── main.scss
    │   │   ├── images
    │   │   │   ├── binoculars.svg
    │   │   │   ├── book.svg
    │   │   │   ├── checklist.svg
    │   │   │   ├── community.svg
    │   │   │   ├── customer-service.svg
    │   │   │   ├── fluent_assertions_large_horizontal.svg
    │   │   │   ├── gift.svg
    │   │   │   ├── info-support.jpg
    │   │   │   ├── jetbrainsrider.svg
    │   │   │   ├── jigsaws.svg
    │   │   │   ├── nugetlogo.svg
    │   │   │   ├── swyfft.jpg
    │   │   │   ├── twitter.svg
    │   │   │   └── vote.svg
    │   │   └── js
    │   │       ├── _main.js
    │   │       ├── lunr
    │   │       │   ├── lunr-en.js
    │   │       │   ├── lunr-gr.js
    │   │       │   ├── lunr-store.js
    │   │       │   ├── lunr.js
    │   │       │   └── lunr.min.js
    │   │       ├── main.min.js
    │   │       ├── plugins
    │   │       │   ├── gumshoe.js
    │   │       │   ├── jquery.ba-throttle-debounce.js
    │   │       │   ├── jquery.fitvids.js
    │   │       │   ├── jquery.greedy-navigation.js
    │   │       │   ├── jquery.magnific-popup.js
    │   │       │   ├── jquery.smooth-scroll.min.js
    │   │       │   └── smooth-scroll.js
    │   │       └── vendor
    │   │           └── jquery
    │   │               └── jquery-3.5.1.js
    │   ├── banner.js
    │   ├── favicon.ico
    │   ├── index.html
    │   ├── package.json
    │   ├── run.bat
    │   └── staticman.yml
    ├── dotnet-install.ps1
    ├── global.json
    ├── nuget.config
    ├── package-lock.json
    ├── package.json
    ├── profile.yaml
    ├── qodana.sarif.json
    └── qodana.yaml

99 directories, 998 files

标签:

实例下载地址

FluentAssertions:.NET单元测试的自然断言扩展方法详解

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警