Pin SCA versioning#86
Merged
Merged
GitHub Actions / Unit tests
succeeded
Sep 1, 2025 in 1s
258 passed, 0 failed and 0 skipped
✅ /home/runner/work/benchmarkdotnet.analyser/benchmarkdotnet.analyser/test/BenchmarkDotNetAnalyser.Tests.Unit/TestResults/test_results.trx
258 tests were completed in 5s with 258 passed, 0 failed and 0 skipped.
✅ BenchmarkDotNetAnalyser.Tests.Unit.Aggregation.BenchmarkAggregatorTests
✅ Aggregate_BehavesAsAStack
✅ Aggregate_PreservePinned_AllUnpinned_BehavesAsAStack
✅ Aggregate_PreservePinned_EqualValues_PinnedPreserved
✅ Aggregate_PreservePinned_SinglePinned_RiosingValues_PinnedPreserved
✅ BenchmarkDotNetAnalyser.Tests.Unit.Analysis.BaselineDevianceAnalyserTests
✅ CreateAnalysis_TestValuesOutsideOfTolerance
✅ CreateAnalysis_TestValuesWithinTolerance
✅ CreateAnalysis_ToleranceHasPositiveNegativeBoundaries_InsideBoundaries(baselineValue: 1, testValue: 0.1, tolerance: 0.9)
✅ CreateAnalysis_ToleranceHasPositiveNegativeBoundaries_InsideBoundaries(baselineValue: 1, testValue: 1.9, tolerance: 0.9)
✅ CreateAnalysis_ToleranceHasPositiveNegativeBoundaries_OutsideBoundaries(baselineValue: -1, testValue: 1, tolerance: 0.1)
✅ CreateAnalysis_ToleranceHasPositiveNegativeBoundaries_OutsideBoundaries(baselineValue: -1, testValue: 1, tolerance: 0)
✅ CreateAnalysis_ToleranceHasPositiveNegativeBoundaries_OutsideBoundaries(baselineValue: 1, testValue: -1, tolerance: 0.9)
✅ CreateAnalysis_ToleranceHasPositiveNegativeBoundaries_OutsideBoundaries(baselineValue: 1, testValue: 0, tolerance: 0.9)
✅ CreateAnalysis_ToleranceHasPositiveNegativeBoundaries_OutsideBoundaries(baselineValue: 1, testValue: 2, tolerance: 0.9)
✅ BenchmarkDotNetAnalyser.Tests.Unit.Analysis.BaselineDevianceGroupAnalyserTests
✅ Analyse_LatestExceedsTolerance_ReturnsFalse(resultCount: 2)
✅ Analyse_LatestExceedsTolerance_ReturnsFalse(resultCount: 3)
✅ Analyse_LatestWithinTolerance_ReturnsTrue(resultCount: 0)
✅ Analyse_LatestWithinTolerance_ReturnsTrue(resultCount: 1)
✅ Analyse_LatestWithinTolerance_ReturnsTrue(resultCount: 2)
✅ Analyse_LatestWithinTolerance_ReturnsTrue(resultCount: 3)
✅ BenchmarkDotNetAnalyser.Tests.Unit.Analysis.BenchmarkResultGroupBuilderTests
✅ FromResults_EmptyRuns_EmptyResults
✅ FromResults_MultipleRuns_NamesMatch
✅ FromResults_SingleRun_EmptyRun_EmptyResults
✅ FromResults_SingletonRun_ResultsInChronoOrder
✅ FromResults_SingletonRun_ResultsMapped
✅ BenchmarkDotNetAnalyser.Tests.Unit.Analysis.TelemetryBenchmarkResultAnalysisReporterTests
✅ Report_MeetsRequirementsFalse_EmptyInnerResults_ErrorReturned
✅ Report_MeetsRequirementsFalse_InnerMessageNotReturned
✅ Report_MeetsRequirementsFalse_NonNullMessage_InnerMessageReturned
✅ Report_MeetsRequirementsFalse_NullMessage_InnerMessageReturned
✅ Report_MeetsRequirementsFalse_WhitespaceMessage_InnerMessageReturned
✅ Report_MeetsRequirementsTrue_ErrorReturned
✅ BenchmarkDotNetAnalyser.Tests.Unit.Benchmarks.BenchmarkInfoExtensionsTests
✅ IsIncluded_ResultFiltered(ns: "a", t: "b", m: "c", expected: False, filters: ["*zzz*"])
✅ IsIncluded_ResultFiltered(ns: "a", t: "b", m: "c", expected: True, filters: ["*a*", "z"])
✅ IsIncluded_ResultFiltered(ns: "a", t: "b", m: "c", expected: True, filters: ["*a*"])
✅ IsIncluded_ResultFiltered(ns: "a", t: "b", m: "c", expected: True, filters: ["*b*", "z"])
✅ IsIncluded_ResultFiltered(ns: "a", t: "b", m: "c", expected: True, filters: ["*b*"])
✅ IsIncluded_ResultFiltered(ns: "a", t: "b", m: "c", expected: True, filters: ["*c*", "z"])
✅ IsIncluded_ResultFiltered(ns: "a", t: "b", m: "c", expected: True, filters: ["*c*"])
✅ PinBest_DistinctValues_LowestPinned
✅ PinBest_DistinctValues_LowestPinned_MultipleRuns
✅ PinBest_SameValues_AllPinned
✅ PreservePinned_InterpolatedPinBitmap_BenchmarksTrimmed(runs: 2, pinned: [False, False, False, False, False, ···], survivors: [False, False, False, False, False, ···])
✅ PreservePinned_InterpolatedPinBitmap_BenchmarksTrimmed(runs: 2, pinned: [False, False, False, False, False, ···], survivors: [True, False, False, False, False, ···])
✅ PreservePinned_InterpolatedPinBitmap_BenchmarksTrimmed(runs: 2, pinned: [True, True, False, False, False, ···], survivors: [True, True, False, False, False, ···])
✅ PreservePinned_InterpolatedPinBitmap_BenchmarksTrimmed(runs: 2, pinned: [True, True, True, True, True, ···], survivors: [True, True, True, True, True, ···])
✅ PreservePinned_InterpolatedPinBitmap_BenchmarksTrimmed(runs: 4, pinned: [False, False, True, False, True, ···], survivors: [False, False, True, False, True, ···])
✅ PreservePinned_InterpolatedPinBitmap_BenchmarksTrimmed(runs: 6, pinned: [False, False, True, False, True, ···], survivors: [True, False, True, False, True, ···])
✅ PreservePinned_InterpolatedPinBitmap_BenchmarksTrimmed(runs: 8, pinned: [False, False, True, False, True, ···], survivors: [True, True, True, True, True, ···])
✅ PreservePinned_InterpolatedPinBitmap_BenchmarksTrimmed(runs: 8, pinned: [True, True, True, True, True, ···], survivors: [True, True, True, True, True, ···])
✅ PreservePinned_InterpolatedPins_UnpinnedTrimmed
✅ PreservePinned_UnpinnedTrimmed
✅ TrimRunsByFilter_RunsTrimmed(filter: "*a*", expectedCount: 0, names: ["test"])
✅ TrimRunsByFilter_RunsTrimmed(filter: "*a*", expectedCount: 1, names: ["a", "b", "c"])
✅ TrimRunsByFilter_RunsTrimmed(filter: "*a*", expectedCount: 1, names: ["aaa", "bbb", "ccc"])
✅ TrimRunsByFilter_RunsTrimmed(filter: "*e*", expectedCount: 3, names: ["test", "set", "tes"])
✅ TrimRunsByFilter_RunsTrimmed(filter: "a", expectedCount: 1, names: ["a", "b", "c"])
✅ BenchmarkDotNetAnalyser.Tests.Unit.Benchmarks.BenchmarkParserTests
✅ GetBenchmarkEnvironment_GetCreation
✅ GetBenchmarkEnvironment_ValuesParsed(caption: "bdn1", bdnVersion: "0.1.2", os: "win10-x64", proc: "xeon E5-2673", cpuArchitecture: "X64", physicalProcs: 1, physicalCores: 2, logicalCores: 4, runtimeVersion: ".NET Core 5.0.4 (CoreCLR 5.0.421.11614, CoreFX 5.0"···, cliVersion: "5.0.201")
✅ GetBenchmarkEnvironment_ValuesParsed(caption: "bdn2", bdnVersion: "1.2.3", os: "ubuntu-x64", proc: "E5-2673", cpuArchitecture: "x64", physicalProcs: 2, physicalCores: 4, logicalCores: 8, runtimeVersion: ".NET Core 5.0.4", cliVersion: "5.0.201")
✅ GetBenchmarkResults_NoStats_ValuesParsed(fullName: "fullName1", benchmarkNamespace: "benchmarknamespace1", benchmarkType: "benchmarktype1", benchmarkMethod: "benchmarkMethod1", benchmarkParameters: "benchmarkparams1")
✅ GetBenchmarkResults_NoStats_ValuesParsed(fullName: "fullName2", benchmarkNamespace: "benchmarknamespace2", benchmarkType: "benchmarktype2", benchmarkMethod: "benchmarkMethod2", benchmarkParameters: "benchmarkparams2")
✅ GetBenchmarkResults_ValuesParsed(fullName: "fullName1", benchmarkNamespace: "benchmarknamespace1", benchmarkType: "benchmarktype1", benchmarkMethod: "benchmarkMethod1", benchmarkParameters: "benchmarkparams1", seedStats: 0.1)
✅ GetBenchmarkResults_ValuesParsed(fullName: "fullName2", benchmarkNamespace: "benchmarknamespace2", benchmarkType: "benchmarktype2", benchmarkMethod: "benchmarkMethod2", benchmarkParameters: "benchmarkparams2", seedStats: 0.001)
✅ GetBenchmarkResults_WithoutMemory_ValuesParsed(fullName: "fullName1", benchmarkNamespace: "benchmarknamespace1", benchmarkType: "benchmarktype1", benchmarkMethod: "benchmarkMethod1", benchmarkParameters: "benchmarkparams1", seedStats: 0.1)
✅ GetBenchmarkResults_WithoutMemory_ValuesParsed(fullName: "fullName2", benchmarkNamespace: "benchmarknamespace2", benchmarkType: "benchmarktype2", benchmarkMethod: "benchmarkMethod2", benchmarkParameters: "benchmarkparams2", seedStats: 0.001)
✅ BenchmarkDotNetAnalyser.Tests.Unit.Benchmarks.BenchmarkRunResultsReaderTests
✅ GetBenchmarkResults_ResultsParsed
✅ BenchmarkDotNetAnalyser.Tests.Unit.Benchmarks.BenchmarkStatisticAccessorProviderTests
✅ GetAccessor_AccessorFound_AccessorEvaluates(name: "", expected: 3)
✅ GetAccessor_AccessorFound_AccessorEvaluates(name: "MaxTime", expected: 2)
✅ GetAccessor_AccessorFound_AccessorEvaluates(name: "MeanTime", expected: 3)
✅ GetAccessor_AccessorFound_AccessorEvaluates(name: "MedianTime", expected: 4)
✅ GetAccessor_AccessorFound_AccessorEvaluates(name: "MinTime", expected: 1)
✅ GetAccessor_AccessorFound(name: "BytesAllocatedPerOp", upper: False)
✅ GetAccessor_AccessorFound(name: "BytesAllocatedPerOp", upper: True)
✅ GetAccessor_AccessorFound(name: "Gen0Collections", upper: False)
✅ GetAccessor_AccessorFound(name: "Gen0Collections", upper: True)
✅ GetAccessor_AccessorFound(name: "MaxTime", upper: False)
✅ GetAccessor_AccessorFound(name: "MaxTime", upper: True)
✅ GetAccessor_AccessorFound(name: "MeanTime", upper: False)
✅ GetAccessor_AccessorFound(name: "MeanTime", upper: True)
✅ GetAccessor_AccessorFound(name: "MedianTime", upper: False)
✅ GetAccessor_AccessorFound(name: "MedianTime", upper: True)
✅ GetAccessor_AccessorFound(name: "MinTime", upper: False)
✅ GetAccessor_AccessorFound(name: "MinTime", upper: True)
✅ GetAccessor_NonEmptyStringReturnsDefault
✅ GetAccessor_NullName_DefaultReturned(name: " ")
✅ GetAccessor_NullName_DefaultReturned(name: "")
✅ GetAccessor_NullName_DefaultReturned(name: "\t")
✅ GetAccessor_NullName_DefaultReturned(name: null)
✅ GetAccessorInfos_OrderedReturn
✅ GetAccessorInfos_SingleIsDefault
✅ GetAccessorInfos_UniquesReturned
✅ GetNullableAccessor_AccessorFound_AccessorEvaluates_2(name: "")
✅ GetNullableAccessor_AccessorFound_AccessorEvaluates_2(name: "BytesAllocatedPerOp")
✅ GetNullableAccessor_AccessorFound_AccessorEvaluates_2(name: "Gen0Collections")
✅ GetNullableAccessor_AccessorFound_AccessorEvaluates_2(name: "Gen1Collections")
✅ GetNullableAccessor_AccessorFound_AccessorEvaluates_2(name: "Gen2Collections")
✅ GetNullableAccessor_AccessorFound_AccessorEvaluates_2(name: "MaxTime")
✅ GetNullableAccessor_AccessorFound_AccessorEvaluates_2(name: "MeanTime")
✅ GetNullableAccessor_AccessorFound_AccessorEvaluates_2(name: "MedianTime")
✅ GetNullableAccessor_AccessorFound_AccessorEvaluates_2(name: "MinTime")
✅ GetNullableAccessor_AccessorFound_AccessorEvaluates(name: "", expected: 3)
✅ GetNullableAccessor_AccessorFound_AccessorEvaluates(name: "BytesAllocatedPerOp", expected: 9)
✅ GetNullableAccessor_AccessorFound_AccessorEvaluates(name: "Gen0Collections", expected: 5)
✅ GetNullableAccessor_AccessorFound_AccessorEvaluates(name: "Gen1Collections", expected: 6)
✅ GetNullableAccessor_AccessorFound_AccessorEvaluates(name: "Gen2Collections", expected: 7)
✅ GetNullableAccessor_AccessorFound_AccessorEvaluates(name: "MaxTime", expected: 2)
✅ GetNullableAccessor_AccessorFound_AccessorEvaluates(name: "MeanTime", expected: 3)
✅ GetNullableAccessor_AccessorFound_AccessorEvaluates(name: "MedianTime", expected: 4)
✅ GetNullableAccessor_AccessorFound_AccessorEvaluates(name: "MinTime", expected: 1)
✅ GetNullableAccessor_AccessorFound(name: "BytesAllocatedPerOp", upper: False)
✅ GetNullableAccessor_AccessorFound(name: "BytesAllocatedPerOp", upper: True)
✅ GetNullableAccessor_AccessorFound(name: "Gen0Collections", upper: False)
✅ GetNullableAccessor_AccessorFound(name: "Gen0Collections", upper: True)
✅ GetNullableAccessor_AccessorFound(name: "MaxTime", upper: False)
✅ GetNullableAccessor_AccessorFound(name: "MaxTime", upper: True)
✅ GetNullableAccessor_AccessorFound(name: "MeanTime", upper: False)
✅ GetNullableAccessor_AccessorFound(name: "MeanTime", upper: True)
✅ GetNullableAccessor_AccessorFound(name: "MedianTime", upper: False)
✅ GetNullableAccessor_AccessorFound(name: "MedianTime", upper: True)
✅ GetNullableAccessor_AccessorFound(name: "MinTime", upper: False)
✅ GetNullableAccessor_AccessorFound(name: "MinTime", upper: True)
✅ GetNullableAccessor_NonEmptyStringReturnsDefault
✅ GetNullableAccessor_NullName_DefaultReturned(name: " ")
✅ GetNullableAccessor_NullName_DefaultReturned(name: "")
✅ GetNullableAccessor_NullName_DefaultReturned(name: "\t")
✅ GetNullableAccessor_NullName_DefaultReturned(name: null)
✅ BenchmarkDotNetAnalyser.Tests.Unit.Commands.AggregateBenchmarksCommandTests
✅ OnExecuteAsync_NoValidationError_ExecuteError_ReturnsError
✅ OnExecuteAsync_NoValidationError_ExecuteOk_ReturnsOk
✅ OnExecuteAsync_ValidationError_ReturnsError
✅ BenchmarkDotNetAnalyser.Tests.Unit.Commands.AggregateBenchmarksExecutorTests
✅ ExecuteAsync_BenchmarksAggregated_AggregateWritten(aggregateCount: 0, newFileCount: 0)
✅ ExecuteAsync_BenchmarksAggregated_AggregateWritten(aggregateCount: 0, newFileCount: 1)
✅ ExecuteAsync_BenchmarksAggregated_AggregateWritten(aggregateCount: 1, newFileCount: 0)
✅ ExecuteAsync_BenchmarksAggregated_AggregateWritten(aggregateCount: 1, newFileCount: 1)
✅ ExecuteAsync_BenchmarksAggregated_AggregateWritten(aggregateCount: 3, newFileCount: 0)
✅ ExecuteAsync_BenchmarksAggregated_AggregateWritten(aggregateCount: 3, newFileCount: 1)
✅ ExecuteAsync_BenchmarksAggregated_AggregateWritten(aggregateCount: 4, newFileCount: 0)
✅ ExecuteAsync_BenchmarksAggregated_AggregateWritten(aggregateCount: 4, newFileCount: 1)
✅ ExecuteAsync_BenchmarksAggregated_AggregateWritten(aggregateCount: 7, newFileCount: 0)
✅ ExecuteAsync_BenchmarksAggregated_AggregateWritten(aggregateCount: 7, newFileCount: 1)
✅ ExecuteAsync_Success_ConsoleMessagesSent
✅ BenchmarkDotNetAnalyser.Tests.Unit.Commands.AnalyseBenchmarksCommandTests
✅ OnExecuteAsync_NoValidationError_ExecuteError_ReturnsError
✅ OnExecuteAsync_NoValidationError_ExecuteOk_ReturnsOk
✅ OnExecuteAsync_ValidationError_ReturnsError
✅ BenchmarkDotNetAnalyser.Tests.Unit.Commands.AnalyseBenchmarksCommandValidatorTests
✅ Validate_AggregatesPath_InvalidPath
✅ Validate_AggregatesPath_ValidPath
✅ Validate_MaxErrors_Default
✅ Validate_MaxErrors_InvalidForm
✅ Validate_MaxErrors_NegativeValue
✅ Validate_MaxErrors_ValidForm
✅ Validate_Statistic_KnownStatistic_Passes
✅ Validate_Statistic_UnknownStatistic_ExceptionThrown
✅ Validate_Tolerance_Default
✅ Validate_Tolerance_InvalidForm
✅ Validate_Tolerance_NegativeValue
✅ Validate_Tolerance_ValidForm
✅ BenchmarkDotNetAnalyser.Tests.Unit.Commands.AnalyseBenchmarksExecutorTests
✅ ExecuteAsync_EmptyBenchmarks_ReturnsFalse
✅ ExecuteAsync_SingleBenchmark_DoesNot_MeetsRequirements_ReturnsFalse
✅ ExecuteAsync_SingleBenchmark_MeetsRequirements_ReturnsTrue
✅ BenchmarkDotNetAnalyser.Tests.Unit.Commands.CommandExtensionsTests
✅ GetCommandOptionName_NameFound_NoAttribute(propName: "Count")
✅ GetCommandOptionName_NameFound_NoAttribute(propName: "Name")
✅ GetCommandOptionName_NameFound(commandType: typeof(BenchmarkDotNetAnalyser.Tests.Unit.Commands.CommandExtensionsTests+OptionsStubCommand), propName: "Count", expected: "test")
✅ GetCommandOptionName_NameFound(commandType: typeof(BenchmarkDotNetAnalyser.Tests.Unit.Commands.CommandExtensionsTests+OptionsStubCommand), propName: "Verbose", expected: "verbose")
✅ GetCommandOptionName_NameNotFound(commandType: typeof(BenchmarkDotNetAnalyser.Tests.Unit.Commands.CommandExtensionsTests+OptionsStubCommand), propName: " ")
✅ GetCommandOptionName_NameNotFound(commandType: typeof(BenchmarkDotNetAnalyser.Tests.Unit.Commands.CommandExtensionsTests+OptionsStubCommand), propName: "")
✅ GetCommandOptionName_NameNotFound(commandType: typeof(BenchmarkDotNetAnalyser.Tests.Unit.Commands.CommandExtensionsTests+OptionsStubCommand), propName: "zzz")
✅ GetCommandOptionName_NameNotFound(commandType: typeof(object), propName: "Length")
✅ ToReturnCode_ValuesMapped(input: False, expected: 1)
✅ ToReturnCode_ValuesMapped(input: True, expected: 0)
✅ BenchmarkDotNetAnalyser.Tests.Unit.Commands.TelemetryAggregateBenchmarksExecutorArgsReporterTests
✅ Report_DetailsSentToTelemetry
✅ Report_TagsSentToTelemetry
✅ BenchmarkDotNetAnalyser.Tests.Unit.Commands.TelemetryAnalyseBenchmarksExecutorArgsReporterTests
✅ Report_TelemetryReceivesArgsDetails
✅ BenchmarkDotNetAnalyser.Tests.Unit.Commands.VersionCommandTests
✅ OnExecuteAsync_OkReturned
✅ BenchmarkDotNetAnalyser.Tests.Unit.EnumerableExtensionsTests
✅ MinBy_Decimal_EmptySequence_ExceptionMessageNonEmpty
✅ MinBy_Decimal_EmptySequence_ExceptionThrown
✅ MinBy_Decimal_FindsMinByReverse
✅ MinBy_Decimal_Reversed_FindsMinByReverse
✅ MinBy_Decimal_StringValueProjections_FindsMinByReverse
✅ MinBy_Decimal_ValuesEqual_FindsMinByReverse
✅ ToInfinity_ValuesRepeated
✅ BenchmarkDotNetAnalyser.Tests.Unit.Instrumentation.ColourExtensionsTests
✅ Colourise_NullValue_ReturnsNull
✅ Colourise_ReturnsAnnotatedValue
✅ BenchmarkDotNetAnalyser.Tests.Unit.Instrumentation.ConsoleTelemetryTests
✅ Commentary_NonVerbose_MessageNotWritten
✅ Commentary_Verbose_MessageWritten
✅ Error_NonVerbose_MessageWritten
✅ Error_Verbose_MessageWritten
✅ Info_NonVerbose_MessageWritten
✅ Info_Verbose_MessageWritten
✅ Success_NonVerbose_MessageWritten
✅ Success_Verbose_MessageWritten
✅ Warning_NonVerbose_MessageWritten
✅ Warning_Verbose_MessageWritten
✅ BenchmarkDotNetAnalyser.Tests.Unit.Instrumentation.TelemetryExtensionsTests
✅ InvokeWithLogging_ExceptionThrown
✅ InvokeWithLogging_ResultReturned
✅ InvokeWithLoggingAsync_ExceptionThrown
✅ InvokeWithLoggingAsync_ResultReturned
✅ BenchmarkDotNetAnalyser.Tests.Unit.ObjectExtensionsTests
✅ Pipe_NullSelector_ExceptionThrown
✅ Pipe_NullValue_ExceptionThrown
✅ Pipe_ValuePiped
✅ PipeDo_ValuePiped
✅ PipeIfNotNull_NullSelector_ExceptionThrown
✅ PipeIfNotNull_NullValue_NullNotPropagated
✅ PipeIfNotNull_ValuePiped
✅ BenchmarkDotNetAnalyser.Tests.Unit.ParameterExtensionsTests
✅ ArgNotNull_ExceptionThrown(paramName: "")
✅ ArgNotNull_ExceptionThrown(paramName: "abc")
✅ ArgNotNull_NoExceptionThrown(value: "")
✅ ArgNotNull_NoExceptionThrown(value: "abc")
✅ InvalidOpArg_PredicateNull_ExceptionThrown
✅ InvalidOpArg_PredicatePasses_ValueReturned
✅ InvalidOpArg_PredicateTrue_ExceptionThrown
✅ BenchmarkDotNetAnalyser.Tests.Unit.ProgramBootstrapTests
✅ CreateServiceCollection_ServiceInjected(serviceType: typeof(BenchmarkDotNetAnalyser.Aggregation.IBenchmarkAggregator))
✅ CreateServiceCollection_ServiceInjected(serviceType: typeof(BenchmarkDotNetAnalyser.Benchmarks.IBenchmarkInfoProvider))
✅ CreateServiceCollection_ServiceInjected(serviceType: typeof(BenchmarkDotNetAnalyser.Benchmarks.IBenchmarkRunInfoProvider))
✅ CreateServiceCollection_ServiceInjected(serviceType: typeof(BenchmarkDotNetAnalyser.Commands.IAggregateBenchmarksExecutor))
✅ CreateServiceCollection_ServiceInjected(serviceType: typeof(BenchmarkDotNetAnalyser.Commands.IAnalyseBenchmarksExecutor))
✅ CreateServiceCollection_ServiceInjected(serviceType: typeof(BenchmarkDotNetAnalyser.Instrumentation.ITelemetry))
✅ CreateServiceCollection_ServiceInjected(serviceType: typeof(BenchmarkDotNetAnalyser.IO.IFileFinder))
✅ CreateServiceCollection_ServiceInjected(serviceType: typeof(McMaster.Extensions.CommandLineUtils.IConsole))
✅ GetDescription_SolidTextReturned
✅ BenchmarkDotNetAnalyser.Tests.Unit.ReflectionExtensionsTests
✅ GetAttributeValue_AttributeNotRetrieved
✅ GetAttributeValue_CopyrightValueRetrieved
✅ GetMemberAttributePairs_UnknownAttribute_ReturnsEmpty
✅ GetMemberAttributePairs_UsedAttribute_ReturnsNonEmpty
✅ GetMemberAttributePairs_UsedAttributeInBaseClass_ReturnsNonEmpty
✅ BenchmarkDotNetAnalyser.Tests.Unit.Reporting.BenchmarkReaderTests
✅ GetBenchmarkAsync_GetCsv_FilterApplied
✅ GetBenchmarkAsync_GetCsv_NoFilterApplied
✅ BenchmarkDotNetAnalyser.Tests.Unit.Reporting.BenchmarkRecordExtensionsTests
✅ ToCsvRows_Mapped
✅ ToCsvRows_TagsMapped
✅ BenchmarkDotNetAnalyser.Tests.Unit.Reporting.CsvBenchmarksReportGeneratorTest
✅ GenerateAsync_BenchmarksFlowThrough
✅ BenchmarkDotNetAnalyser.Tests.Unit.Reporting.JsonBenchmarksReportGeneratorTest
✅ GenerateAsync_BenchmarksFlowThrough
✅ BenchmarkDotNetAnalyser.Tests.Unit.Reporting.ReporterProviderTests
✅ GetReporter_ByString_KnownKind_ReturnsReporter
✅ GetReporter_ByString_UnknownKind_ThrowsException
✅ GetReporter_KnownKind_ReturnsReporter
✅ GetReporter_UnknownKind_ThrowsException
✅ BenchmarkDotNetAnalyser.Tests.Unit.StringExtensionsTests
✅ IsMatch_NegativeMatches(value: "Époisses", pattern: "Epoisses")
✅ IsMatch_NegativeMatches(value: "System", pattern: " ")
✅ IsMatch_NegativeMatches(value: "System", pattern: " system")
✅ IsMatch_NegativeMatches(value: "System", pattern: "")
✅ IsMatch_NegativeMatches(value: "system", pattern: "*no*")
✅ IsMatch_NegativeMatches(value: "System", pattern: "*sys")
✅ IsMatch_NegativeMatches(value: "System", pattern: "sistem")
✅ IsMatch_NegativeMatches(value: "System", pattern: "system ")
✅ IsMatch_PositiveMatches(value: "Époisses", pattern: "Époisses")
✅ IsMatch_PositiveMatches(value: "System", pattern: "*")
✅ IsMatch_PositiveMatches(value: "System", pattern: "*sys*")
✅ IsMatch_PositiveMatches(value: "System", pattern: "*system")
✅ IsMatch_PositiveMatches(value: "System", pattern: "sys*")
✅ IsMatch_PositiveMatches(value: "System", pattern: "system")
✅ IsMatch_PositiveMatches(value: "System", pattern: "SYSTEM")
✅ IsMatch_PositiveMatches(value: "System", pattern: "system*")
✅ IsMatch_PositiveMatches(value: "System", pattern: null)
✅ Join_DelimitersInterspersed
✅ Join_SegmentsInterspersed
✅ Join_SegmentsPreserved
✅ ToDecimal_InvalidNumber_ExceptionThrown
✅ ToDecimal_Passes
✅ ToInt_InvalidNumber_ExceptionThrown
✅ ToInt_Passes
✅ ToPercentageDecimal_InvalidNumber_ExceptionThrown
✅ ToPercentageDecimal_Passes
Loading