From 8eeaa318321ce7ff7229d165459c2a0df388abf3 Mon Sep 17 00:00:00 2001 From: mlemanczyk Date: Mon, 25 Dec 2023 21:24:45 +0100 Subject: [PATCH] All fields converted to properties. Property getters added with one-time initialization. --- .../RecyclableLongListTestData.cs | 50 +++++++++---------- 1 file changed, 24 insertions(+), 26 deletions(-) diff --git a/Recyclable.Collections.TestData/RecyclableLongListTestData.cs b/Recyclable.Collections.TestData/RecyclableLongListTestData.cs index b526667..78de643 100644 --- a/Recyclable.Collections.TestData/RecyclableLongListTestData.cs +++ b/Recyclable.Collections.TestData/RecyclableLongListTestData.cs @@ -276,6 +276,15 @@ namespace Recyclable.Collections.TestData yield return ($"T[{itemsCount}]", testData, itemsCount); } + public static IEnumerable<(string TestCase, IEnumerable TestData, long ItemsCount, IEnumerable ItemIndexes)> CreateSourceDataWithItemIndexVariants() + { + foreach (var testCase in CreateSourceDataVariants().Where(testCase => testCase.ItemsCount > 0)) + { + var itemIndexes = CreateItemIndexVariants(testCase.ItemsCount, RecyclableDefaults.BlockSize).ToArray(); + yield return (testCase.TestCase, testCase.TestData, testCase.ItemsCount, itemIndexes); + } + } + public static IEnumerable<(string TestCase, IEnumerable TestData, long ItemsCount)> CreateSourceRefDataVariants() { foreach (var itemsCount in ItemsCountVariants) @@ -349,47 +358,36 @@ namespace Recyclable.Collections.TestData } public static bool IsValidBlockSize(long itemsCount, long blockSize) => itemsCount is < 1024 || blockSize is > 8; - public static readonly IEnumerable BlockSizeVariants = new int[] + public static IEnumerable BlockSizeVariants { get; }= new int[] { 1, 2, 4, 16, RecyclableDefaults.MinPooledArrayLength - 5, (int)BitOperations.RoundUpToPowerOf2(RecyclableDefaults.MinPooledArrayLength) }; - public static IEnumerable EmptySourceDataTestCases => EmptySourceDataVariants.Select(x => new object[] { x.TestCase, x.TestData, x.ItemsCount }); - public static IEnumerable<(string TestCase, IEnumerable TestData, long ItemsCount)> EmptySourceDataVariants => CreateSourceDataVariants(0); - public static IEnumerable InitialItemIndexVariants => new long[] { 0, 1, 2, 3, 4, 5 }; + public static IEnumerable<(string TestCase, IEnumerable TestData, long ItemsCount)> EmptySourceDataVariants { get; } = CreateSourceDataVariants(0); + public static IEnumerable EmptySourceDataTestCases { get; } = EmptySourceDataVariants.Select(x => new object[] { x.TestCase, x.TestData, x.ItemsCount }); + public static IEnumerable InitialItemIndexVariants { get; } = new long[] { 0, 1, 2, 3, 4, 5 }; - public static readonly IEnumerable ItemsCountVariants = new long[] + public static IEnumerable ItemsCountVariants { get; } = new long[] { //RecyclableDefaults.MinPooledArrayLength - 5, RecyclableDefaults.MinPooledArrayLength - 1, RecyclableDefaults.MinPooledArrayLength, RecyclableDefaults.MinPooledArrayLength + 1, RecyclableDefaults.MinPooledArrayLength + 5, 127, 128, 129, RecyclableDefaults.MinItemsCountForParallelization 0, 1, 2, 3, 7, 10, 16, RecyclableDefaults.MinPooledArrayLength - 5, RecyclableDefaults.MinPooledArrayLength - 1, RecyclableDefaults.MinPooledArrayLength, RecyclableDefaults.MinPooledArrayLength + 1, RecyclableDefaults.MinPooledArrayLength + 5, RecyclableDefaults.MinPooledArrayLength * 100 }; - public static readonly IEnumerable ItemsCountTestCases = ItemsCountVariants.Select(x => new object[] { (int)x }); - public static IEnumerable SourceDataTestCases => SourceDataVariants.Select(x => new object[] { x.TestCase, x.TestData, x.ItemsCount }); - public static IEnumerable<(string TestCase, IEnumerable TestData, long ItemsCount)> SourceDataVariants => CreateSourceDataVariants(); - public static IEnumerable SourceDataWithBlockSizeTestCases => SourceDataWithBlockSizeVariants.Select(x => new object[] { x.TestCase, x.TestData, x.ItemsCount, x.BlockSize }); + public static IEnumerable ItemsCountTestCases { get; } = ItemsCountVariants.Select(x => new object[] { (int)x }); + public static IEnumerable<(string TestCase, IEnumerable TestData, long ItemsCount)> SourceDataVariants { get; } = CreateSourceDataVariants(); + public static IEnumerable SourceDataTestCases { get; } = SourceDataVariants.Select(x => new object[] { x.TestCase, x.TestData, x.ItemsCount }); + public static IEnumerable SourceDataWithBlockSizeTestCases { get; } = SourceDataWithBlockSizeVariants.Select(x => new object[] { x.TestCase, x.TestData, x.ItemsCount, x.BlockSize }); public static IEnumerable<(string TestCase, IEnumerable TestData, long ItemsCount, int BlockSize)> SourceDataWithBlockSizeVariants => CombineSourceDataWithBlockSize(CreateSourceDataVariants()); public static IEnumerable<(string TestCase, IEnumerable TestData, long ItemsCount, int BlockSize, IEnumerable ItemIndexes)> SourceDataWithBlockSizeWithItemIndexVariants { get; } = CombineSourceDataWithBlockSizeWithItemIndex(); public static IEnumerable SourceDataWithBlockSizeWithItemIndexTestCases { get; } = SourceDataWithBlockSizeWithItemIndexVariants.Select(x => new object[] { x.TestCase, x.TestData, x.ItemsCount, x.BlockSize, x.ItemIndexes }); public static IEnumerable<(string TestCase, IEnumerable TestData, long ItemsCount, int BlockSize, IEnumerable<(long ItemIndex, long RangeItemsCount)> ItemsIndexesWithRange)> SourceDataWithBlockSizeWithItemIndexWithRangeVariants { get; } = CombineSourceDataWithBlockSizeWithItemIndexWithRange(); public static IEnumerable SourceDataWithBlockSizeWithItemIndexWithRangeTestCases { get; } = SourceDataWithBlockSizeWithItemIndexWithRangeVariants.Select(x => new object[] { x.TestCase, x.TestData, x.ItemsCount, x.BlockSize, x.ItemsIndexesWithRange }); - public static IEnumerable SourceDataWithItemIndexTestCases => SourceDataWithItemIndexVariants.Select(x => new object[] { x.TestCase, x.TestData, x.ItemsCount, x.ItemIndexes }); - public static IEnumerable<(string TestCase, IEnumerable TestData, long ItemsCount, IEnumerable ItemIndexes)> SourceDataWithItemIndexVariants - { - get - { - foreach (var testCase in CreateSourceDataVariants().Where(testCase => testCase.ItemsCount > 0)) - { - var itemIndexes = CreateItemIndexVariants(testCase.ItemsCount, RecyclableDefaults.BlockSize).ToArray(); - yield return (testCase.TestCase, testCase.TestData, testCase.ItemsCount, itemIndexes); - } - } - } - + public static IEnumerable<(string TestCase, IEnumerable TestData, long ItemsCount, IEnumerable ItemIndexes)> SourceDataWithItemIndexVariants { get; } = CreateSourceDataWithItemIndexVariants(); + public static IEnumerable SourceDataWithItemIndexTestCases { get; } = SourceDataWithItemIndexVariants.Select(x => new object[] { x.TestCase, x.TestData, x.ItemsCount, x.ItemIndexes }); public static object[] SourceRefData { get; } = Enumerable.Range(1, 100).Cast().ToArray(); - public static IEnumerable SourceRefDataTestCases => SourceRefDataVariants.Select(x => new object[] { x.TestCase, x.TestData, x.ItemsCount }); - public static IEnumerable<(string TestCase, IEnumerable TestData, long ItemsCount)> SourceRefDataVariants => CreateSourceRefDataVariants(); + public static IEnumerable<(string TestCase, IEnumerable TestData, long ItemsCount)> SourceRefDataVariants { get; } = CreateSourceRefDataVariants(); + public static IEnumerable SourceRefDataTestCases { get; } = SourceRefDataVariants.Select(x => new object[] { x.TestCase, x.TestData, x.ItemsCount }); public static IEnumerable<(string TestCase, IEnumerable TestData, long ItemsCount, int BlockSize)> SourceRefDataWithBlockSizeVariants { get; } = CombineSourceDataWithBlockSize(CreateSourceRefDataVariants()); public static IEnumerable SourceRefDataWithBlockSizeTestCases { get; } = SourceRefDataWithBlockSizeVariants.Select(x => new object[] { x.TestCase, x.TestData, x.ItemsCount, x.BlockSize }); public static IEnumerable<(string TestCase, IEnumerable TestData, long ItemsCount, int BlockSize, IEnumerable ItemIndexes)> SourceRefDataWithBlockSizeWithItemIndexVariants { get; } = CombineSourceRefDataWithBlockSizeWithItemIndex(); @@ -398,7 +396,7 @@ namespace Recyclable.Collections.TestData public static IEnumerable SourceRefDataWithBlockSizeWithItemIndexWithRangeTestCases { get; } = SourceRefDataWithBlockSizeWithItemIndexWithRangeVariants.Select(x => new object[] { x.TestCase, x.TestData, x.ItemsCount, x.BlockSize, x.ItemsIndexesWithRange }); public static IEnumerable<(string TestCase, IEnumerable TestData, long ItemsCount, IEnumerable ItemIndexes)> SourceRefDataWithItemIndexVariants { get; } = CreateSourceRefDataWithItemIndexVariants(); public static IEnumerable SourceRefDataWithItemIndexTestCases { get; } = SourceRefDataWithItemIndexVariants.Select(x => new object[] { x.TestCase, x.TestData, x.ItemsCount, x.ItemIndexes }); - public static IEnumerable TargetDataTestCases => TargetDataVariants.Select(x => new object[] { x.ItemsCount, x.BlockSize }); - public static IEnumerable<(long ItemsCount, int BlockSize)> TargetDataVariants => CreateTargetDataVariants(); + public static IEnumerable<(long ItemsCount, int BlockSize)> TargetDataVariants { get; } = CreateTargetDataVariants(); + public static IEnumerable TargetDataTestCases { get; } = TargetDataVariants.Select(x => new object[] { x.ItemsCount, x.BlockSize }); } } \ No newline at end of file