From 314b84434a879386ba03302e8b3bf89834c01534 Mon Sep 17 00:00:00 2001 From: nth-commit Date: Sat, 11 Dec 2021 13:52:20 +1300 Subject: [PATCH] =?UTF-8?q?=F0=9F=8C=8D=20#318=20Optimize=20shrinking=20fo?= =?UTF-8?q?r=20"any=20list=20over=20count"=20counterexample?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The shrinking for this case is approximately O(log n). It has added a one shrink tax to all other shrinking situations, which is totally worth it. --- ...GeneratingFlagsEnums.Snapshots_Seed_1.snap | 13 ++- ...nd_Elements_0_And_10_Bias_None_Seed_0.snap | 30 ++--- ...nd_Elements_0_And_10_Bias_None_Seed_1.snap | 16 +-- ...nd_Elements_0_And_10_Bias_None_Seed_2.snap | 72 ++++++------ ...lements_0_And_10_Bias_WithSize_Seed_0.snap | 30 ++--- ...lements_0_And_10_Bias_WithSize_Seed_1.snap | 16 +-- ...lements_0_And_10_Bias_WithSize_Seed_2.snap | 72 ++++++------ ...d_Elements_0_And_100_Bias_None_Seed_0.snap | 106 +++++++++--------- ...d_Elements_0_And_100_Bias_None_Seed_1.snap | 46 ++++---- ...d_Elements_0_And_100_Bias_None_Seed_2.snap | 106 +++++++++--------- ...ements_0_And_100_Bias_WithSize_Seed_0.snap | 106 +++++++++--------- ...ements_0_And_100_Bias_WithSize_Seed_1.snap | 46 ++++---- ...ements_0_And_100_Bias_WithSize_Seed_2.snap | 106 +++++++++--------- .../ExampleSpaceFactory_Merge.cs | 34 +++++- src/GalaxyCheck/Gens/InfiniteGen.cs | 3 +- src/GalaxyCheck/Gens/ListGen.cs | 3 +- src/GalaxyCheck/Gens/SetGen.cs | 8 +- 17 files changed, 421 insertions(+), 392 deletions(-) diff --git a/src/GalaxyCheck.Tests/GenTests/EnumGenTests/__snapshots__/AboutGeneratingFlagsEnums.Snapshots_Seed_1.snap b/src/GalaxyCheck.Tests/GenTests/EnumGenTests/__snapshots__/AboutGeneratingFlagsEnums.Snapshots_Seed_1.snap index 0479f0e5..eb297f06 100644 --- a/src/GalaxyCheck.Tests/GenTests/EnumGenTests/__snapshots__/AboutGeneratingFlagsEnums.Snapshots_Seed_1.snap +++ b/src/GalaxyCheck.Tests/GenTests/EnumGenTests/__snapshots__/AboutGeneratingFlagsEnums.Snapshots_Seed_1.snap @@ -1,10 +1,11 @@ Create, Delete (Id = 1103571695, Distance = 133.3333...) +├> Create, Update (Id = 1372007284, Distance = 100.0000) +| ├> Update (Id = -1521134293, Distance = 66.6667...) +| | └> Read (Id = -1521134294, Distance = 33.3333...) +| ├> Create (Id = -1521134295, Distance = 0) +| └> Create, Read (Id = -1401825717, Distance = 66.6667...) +| └> Read (Id = -1521134294, Distance = 33.3333...) ├> Delete (Id = -1521134292, Distance = 100) | └> Update (Id = -1521134293, Distance = 66.6667...) | └> Read (Id = -1521134294, Distance = 33.3333...) -├> Create (Id = -1521134295, Distance = 0) -└> Create, Update (Id = 1372007284, Distance = 100.0000) - ├> Update (Id = -1521134293, Distance = 66.6667...) - | └> Read (Id = -1521134294, Distance = 33.3333...) - └> Create, Read (Id = -1401825717, Distance = 66.6667...) - └> Read (Id = -1521134294, Distance = 33.3333...) +└> Create (Id = -1521134295, Distance = 0) diff --git a/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_4_And_Elements_0_And_10_Bias_None_Seed_0.snap b/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_4_And_Elements_0_And_10_Bias_None_Seed_0.snap index 10022175..038cfd01 100644 --- a/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_4_And_Elements_0_And_10_Bias_None_Seed_0.snap +++ b/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_4_And_Elements_0_And_10_Bias_None_Seed_0.snap @@ -1,4 +1,9 @@ [4,5,8,10] (Id = 2010151475, Distance = 370.0) +├> [0,0,0,0] (Id = 1553156228, Distance = 100) +| ├> [0] (Id = -1521134295, Distance = 0) +| ├> [0,0,0] (Id = -1760004949, Distance = 66.6667...) +| | └> [0,0] (Id = 119308578, Distance = 33.3333...) +| └> [0,0] (Id = 119308578, Distance = 33.3333...) └> [10,8,5,4] (Id = -1420373737, Distance = 370.0) ├> [10] (Id = -1521134285, Distance = 100) | ├> [0] (Id = -1521134295, Distance = 0) @@ -483,18 +488,13 @@ | ├> [1,0] (Id = -1401825717, Distance = 43.3333...) | | └> [0] (Id = -1521134295, Distance = 0) | └> [0] (Id = -1521134295, Distance = 0) - ├> [4,1] (Id = -1670261305, Distance = 83.3333...) - | ├> [4] (Id = -1521134291, Distance = 40.0) - | | └> [3] (Id = -1521134292, Distance = 30.0) - | | └> [2] (Id = -1521134293, Distance = 20.0) - | ├> [1,1] (Id = -1401825716, Distance = 53.3333...) - | └> [3,1] (Id = -149127010, Distance = 73.3333...) - | ├> [3] (Id = -1521134292, Distance = 30.0) - | | └> [2] (Id = -1521134293, Distance = 20.0) - | └> [2,1] (Id = 1372007285, Distance = 63.3333...) - | └> [2] (Id = -1521134293, Distance = 20.0) - ├> [6,1] (Id = -417562599, Distance = 103.3333...) - | ├> [6] (Id = -1521134289, Distance = 60.0) - | └> [5,1] (Id = 1103571696, Distance = 93.3333...) - └> [7,1] (Id = -1938696894, Distance = 113.3333...) - └> [7] (Id = -1521134288, Distance = 70.0) + └> [4,1] (Id = -1670261305, Distance = 83.3333...) + ├> [4] (Id = -1521134291, Distance = 40.0) + | └> [3] (Id = -1521134292, Distance = 30.0) + | └> [2] (Id = -1521134293, Distance = 20.0) + ├> [1,1] (Id = -1401825716, Distance = 53.3333...) + └> [3,1] (Id = -149127010, Distance = 73.3333...) + ├> [3] (Id = -1521134292, Distance = 30.0) + | └> [2] (Id = -1521134293, Distance = 20.0) + └> [2,1] (Id = 1372007285, Distance = 63.3333...) + └> [2] (Id = -1521134293, Distance = 20.0) diff --git a/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_4_And_Elements_0_And_10_Bias_None_Seed_1.snap b/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_4_And_Elements_0_And_10_Bias_None_Seed_1.snap index ae5a3870..b37851d4 100644 --- a/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_4_And_Elements_0_And_10_Bias_None_Seed_1.snap +++ b/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_4_And_Elements_0_And_10_Bias_None_Seed_1.snap @@ -1,4 +1,9 @@ [8,4,5,0] (Id = -843568383, Distance = 270.0) +├> [0,0,0,0] (Id = 1553156228, Distance = 100) +| ├> [0] (Id = -1521134295, Distance = 0) +| ├> [0,0,0] (Id = -1760004949, Distance = 66.6667...) +| | └> [0,0] (Id = 119308578, Distance = 33.3333...) +| └> [0,0] (Id = 119308578, Distance = 33.3333...) └> [8,5,4,0] (Id = 379306437, Distance = 270.0) ├> [8] (Id = -1521134287, Distance = 80.0) | ├> [0] (Id = -1521134295, Distance = 0) @@ -490,11 +495,6 @@ | └> [3,2] (Id = -149127009, Distance = 83.3333...) | └> [2,2] (Id = 1372007286, Distance = 73.3333...) └> [4,4] (Id = -1670261302, Distance = 113.3333...) - ├> [1,4] (Id = -1401825713, Distance = 83.3333...) - | ├> [4,1] (Id = -1670261305, Distance = 83.3333...) - | | └> [1] (Id = -1521134294, Distance = 10.0) - | └> [1] (Id = -1521134294, Distance = 10.0) - └> [3,4] (Id = -149127007, Distance = 103.3333...) - ├> [3] (Id = -1521134292, Distance = 30.0) - | └> [2] (Id = -1521134293, Distance = 20.0) - └> [2,4] (Id = 1372007288, Distance = 93.3333...) + └> [1,4] (Id = -1401825713, Distance = 83.3333...) + └> [4,1] (Id = -1670261305, Distance = 83.3333...) + └> [1] (Id = -1521134294, Distance = 10.0) diff --git a/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_4_And_Elements_0_And_10_Bias_None_Seed_2.snap b/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_4_And_Elements_0_And_10_Bias_None_Seed_2.snap index 37fb08bd..f4599c87 100644 --- a/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_4_And_Elements_0_And_10_Bias_None_Seed_2.snap +++ b/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_4_And_Elements_0_And_10_Bias_None_Seed_2.snap @@ -1,4 +1,7 @@ [10,10,1] (Id = 536628587, Distance = 276.6667...) +├> [0,0,0] (Id = -1760004949, Distance = 66.6667...) +| ├> [0] (Id = -1521134295, Distance = 0) +| └> [0,0] (Id = 119308578, Distance = 33.3333...) ├> [10] (Id = -1521134285, Distance = 100) | ├> [0] (Id = -1521134295, Distance = 0) | ├> [5] (Id = -1521134290, Distance = 50.0) @@ -462,39 +465,36 @@ | ├> [2,0] (Id = 1372007284, Distance = 53.3333...) | | └> [2] (Id = -1521134293, Distance = 20.0) | └> [2] (Id = -1521134293, Distance = 20.0) - ├> [5,3] (Id = 1103571698, Distance = 113.3333...) - | ├> [1,3] (Id = -1401825714, Distance = 73.3333...) - | | ├> [3,1] (Id = -149127010, Distance = 73.3333...) - | | | ├> [1] (Id = -1521134294, Distance = 10.0) - | | | └> [2,1] (Id = 1372007285, Distance = 63.3333...) - | | | └> [2] (Id = -1521134293, Distance = 20.0) - | | ├> [1] (Id = -1521134294, Distance = 10.0) - | | └> [1,2] (Id = -1401825715, Distance = 63.3333...) - | | ├> [2,1] (Id = 1372007285, Distance = 63.3333...) - | | | └> [2] (Id = -1521134293, Distance = 20.0) - | | └> [2] (Id = -1521134293, Distance = 20.0) - | ├> [3,3] (Id = -149127008, Distance = 93.3333...) - | | ├> [2,3] (Id = 1372007287, Distance = 83.3333...) - | | | ├> [3,2] (Id = -149127009, Distance = 83.3333...) - | | | | ├> [2] (Id = -1521134293, Distance = 20.0) - | | | | └> [2,2] (Id = 1372007286, Distance = 73.3333...) - | | | ├> [2] (Id = -1521134293, Distance = 20.0) - | | | └> [2,2] (Id = 1372007286, Distance = 73.3333...) - | | └> [3,2] (Id = -149127009, Distance = 83.3333...) - | | ├> [2] (Id = -1521134293, Distance = 20.0) - | | └> [2,2] (Id = 1372007286, Distance = 73.3333...) - | ├> [4,3] (Id = -1670261303, Distance = 103.3333...) - | | ├> [4] (Id = -1521134291, Distance = 40.0) - | | └> [4,2] (Id = -1670261304, Distance = 93.3333...) - | | └> [2] (Id = -1521134293, Distance = 20.0) - | └> [5,2] (Id = 1103571697, Distance = 103.3333...) - | ├> [2] (Id = -1521134293, Distance = 20.0) - | ├> [1,2] (Id = -1401825715, Distance = 63.3333...) - | | ├> [2,1] (Id = 1372007285, Distance = 63.3333...) - | | | └> [1] (Id = -1521134294, Distance = 10.0) - | | └> [1] (Id = -1521134294, Distance = 10.0) - | ├> [3,2] (Id = -149127009, Distance = 83.3333...) - | | └> [2,2] (Id = 1372007286, Distance = 73.3333...) - | └> [4,2] (Id = -1670261304, Distance = 93.3333...) - | └> [4] (Id = -1521134291, Distance = 40.0) - └> [8,3] (Id = 835136109, Distance = 143.3333...) + └> [5,3] (Id = 1103571698, Distance = 113.3333...) + ├> [1,3] (Id = -1401825714, Distance = 73.3333...) + | ├> [3,1] (Id = -149127010, Distance = 73.3333...) + | | ├> [1] (Id = -1521134294, Distance = 10.0) + | | └> [2,1] (Id = 1372007285, Distance = 63.3333...) + | | └> [2] (Id = -1521134293, Distance = 20.0) + | ├> [1] (Id = -1521134294, Distance = 10.0) + | └> [1,2] (Id = -1401825715, Distance = 63.3333...) + | ├> [2,1] (Id = 1372007285, Distance = 63.3333...) + | | └> [2] (Id = -1521134293, Distance = 20.0) + | └> [2] (Id = -1521134293, Distance = 20.0) + ├> [3,3] (Id = -149127008, Distance = 93.3333...) + | ├> [2,3] (Id = 1372007287, Distance = 83.3333...) + | | ├> [3,2] (Id = -149127009, Distance = 83.3333...) + | | | ├> [2] (Id = -1521134293, Distance = 20.0) + | | | └> [2,2] (Id = 1372007286, Distance = 73.3333...) + | | ├> [2] (Id = -1521134293, Distance = 20.0) + | | └> [2,2] (Id = 1372007286, Distance = 73.3333...) + | └> [3,2] (Id = -149127009, Distance = 83.3333...) + | ├> [2] (Id = -1521134293, Distance = 20.0) + | └> [2,2] (Id = 1372007286, Distance = 73.3333...) + ├> [4,3] (Id = -1670261303, Distance = 103.3333...) + | ├> [4] (Id = -1521134291, Distance = 40.0) + | └> [4,2] (Id = -1670261304, Distance = 93.3333...) + | └> [2] (Id = -1521134293, Distance = 20.0) + └> [5,2] (Id = 1103571697, Distance = 103.3333...) + ├> [2] (Id = -1521134293, Distance = 20.0) + ├> [1,2] (Id = -1401825715, Distance = 63.3333...) + | ├> [2,1] (Id = 1372007285, Distance = 63.3333...) + | | └> [1] (Id = -1521134294, Distance = 10.0) + | └> [1] (Id = -1521134294, Distance = 10.0) + └> [3,2] (Id = -149127009, Distance = 83.3333...) + └> [2,2] (Id = 1372007286, Distance = 73.3333...) diff --git a/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_4_And_Elements_0_And_10_Bias_WithSize_Seed_0.snap b/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_4_And_Elements_0_And_10_Bias_WithSize_Seed_0.snap index 10022175..038cfd01 100644 --- a/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_4_And_Elements_0_And_10_Bias_WithSize_Seed_0.snap +++ b/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_4_And_Elements_0_And_10_Bias_WithSize_Seed_0.snap @@ -1,4 +1,9 @@ [4,5,8,10] (Id = 2010151475, Distance = 370.0) +├> [0,0,0,0] (Id = 1553156228, Distance = 100) +| ├> [0] (Id = -1521134295, Distance = 0) +| ├> [0,0,0] (Id = -1760004949, Distance = 66.6667...) +| | └> [0,0] (Id = 119308578, Distance = 33.3333...) +| └> [0,0] (Id = 119308578, Distance = 33.3333...) └> [10,8,5,4] (Id = -1420373737, Distance = 370.0) ├> [10] (Id = -1521134285, Distance = 100) | ├> [0] (Id = -1521134295, Distance = 0) @@ -483,18 +488,13 @@ | ├> [1,0] (Id = -1401825717, Distance = 43.3333...) | | └> [0] (Id = -1521134295, Distance = 0) | └> [0] (Id = -1521134295, Distance = 0) - ├> [4,1] (Id = -1670261305, Distance = 83.3333...) - | ├> [4] (Id = -1521134291, Distance = 40.0) - | | └> [3] (Id = -1521134292, Distance = 30.0) - | | └> [2] (Id = -1521134293, Distance = 20.0) - | ├> [1,1] (Id = -1401825716, Distance = 53.3333...) - | └> [3,1] (Id = -149127010, Distance = 73.3333...) - | ├> [3] (Id = -1521134292, Distance = 30.0) - | | └> [2] (Id = -1521134293, Distance = 20.0) - | └> [2,1] (Id = 1372007285, Distance = 63.3333...) - | └> [2] (Id = -1521134293, Distance = 20.0) - ├> [6,1] (Id = -417562599, Distance = 103.3333...) - | ├> [6] (Id = -1521134289, Distance = 60.0) - | └> [5,1] (Id = 1103571696, Distance = 93.3333...) - └> [7,1] (Id = -1938696894, Distance = 113.3333...) - └> [7] (Id = -1521134288, Distance = 70.0) + └> [4,1] (Id = -1670261305, Distance = 83.3333...) + ├> [4] (Id = -1521134291, Distance = 40.0) + | └> [3] (Id = -1521134292, Distance = 30.0) + | └> [2] (Id = -1521134293, Distance = 20.0) + ├> [1,1] (Id = -1401825716, Distance = 53.3333...) + └> [3,1] (Id = -149127010, Distance = 73.3333...) + ├> [3] (Id = -1521134292, Distance = 30.0) + | └> [2] (Id = -1521134293, Distance = 20.0) + └> [2,1] (Id = 1372007285, Distance = 63.3333...) + └> [2] (Id = -1521134293, Distance = 20.0) diff --git a/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_4_And_Elements_0_And_10_Bias_WithSize_Seed_1.snap b/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_4_And_Elements_0_And_10_Bias_WithSize_Seed_1.snap index ae5a3870..b37851d4 100644 --- a/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_4_And_Elements_0_And_10_Bias_WithSize_Seed_1.snap +++ b/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_4_And_Elements_0_And_10_Bias_WithSize_Seed_1.snap @@ -1,4 +1,9 @@ [8,4,5,0] (Id = -843568383, Distance = 270.0) +├> [0,0,0,0] (Id = 1553156228, Distance = 100) +| ├> [0] (Id = -1521134295, Distance = 0) +| ├> [0,0,0] (Id = -1760004949, Distance = 66.6667...) +| | └> [0,0] (Id = 119308578, Distance = 33.3333...) +| └> [0,0] (Id = 119308578, Distance = 33.3333...) └> [8,5,4,0] (Id = 379306437, Distance = 270.0) ├> [8] (Id = -1521134287, Distance = 80.0) | ├> [0] (Id = -1521134295, Distance = 0) @@ -490,11 +495,6 @@ | └> [3,2] (Id = -149127009, Distance = 83.3333...) | └> [2,2] (Id = 1372007286, Distance = 73.3333...) └> [4,4] (Id = -1670261302, Distance = 113.3333...) - ├> [1,4] (Id = -1401825713, Distance = 83.3333...) - | ├> [4,1] (Id = -1670261305, Distance = 83.3333...) - | | └> [1] (Id = -1521134294, Distance = 10.0) - | └> [1] (Id = -1521134294, Distance = 10.0) - └> [3,4] (Id = -149127007, Distance = 103.3333...) - ├> [3] (Id = -1521134292, Distance = 30.0) - | └> [2] (Id = -1521134293, Distance = 20.0) - └> [2,4] (Id = 1372007288, Distance = 93.3333...) + └> [1,4] (Id = -1401825713, Distance = 83.3333...) + └> [4,1] (Id = -1670261305, Distance = 83.3333...) + └> [1] (Id = -1521134294, Distance = 10.0) diff --git a/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_4_And_Elements_0_And_10_Bias_WithSize_Seed_2.snap b/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_4_And_Elements_0_And_10_Bias_WithSize_Seed_2.snap index 37fb08bd..f4599c87 100644 --- a/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_4_And_Elements_0_And_10_Bias_WithSize_Seed_2.snap +++ b/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_4_And_Elements_0_And_10_Bias_WithSize_Seed_2.snap @@ -1,4 +1,7 @@ [10,10,1] (Id = 536628587, Distance = 276.6667...) +├> [0,0,0] (Id = -1760004949, Distance = 66.6667...) +| ├> [0] (Id = -1521134295, Distance = 0) +| └> [0,0] (Id = 119308578, Distance = 33.3333...) ├> [10] (Id = -1521134285, Distance = 100) | ├> [0] (Id = -1521134295, Distance = 0) | ├> [5] (Id = -1521134290, Distance = 50.0) @@ -462,39 +465,36 @@ | ├> [2,0] (Id = 1372007284, Distance = 53.3333...) | | └> [2] (Id = -1521134293, Distance = 20.0) | └> [2] (Id = -1521134293, Distance = 20.0) - ├> [5,3] (Id = 1103571698, Distance = 113.3333...) - | ├> [1,3] (Id = -1401825714, Distance = 73.3333...) - | | ├> [3,1] (Id = -149127010, Distance = 73.3333...) - | | | ├> [1] (Id = -1521134294, Distance = 10.0) - | | | └> [2,1] (Id = 1372007285, Distance = 63.3333...) - | | | └> [2] (Id = -1521134293, Distance = 20.0) - | | ├> [1] (Id = -1521134294, Distance = 10.0) - | | └> [1,2] (Id = -1401825715, Distance = 63.3333...) - | | ├> [2,1] (Id = 1372007285, Distance = 63.3333...) - | | | └> [2] (Id = -1521134293, Distance = 20.0) - | | └> [2] (Id = -1521134293, Distance = 20.0) - | ├> [3,3] (Id = -149127008, Distance = 93.3333...) - | | ├> [2,3] (Id = 1372007287, Distance = 83.3333...) - | | | ├> [3,2] (Id = -149127009, Distance = 83.3333...) - | | | | ├> [2] (Id = -1521134293, Distance = 20.0) - | | | | └> [2,2] (Id = 1372007286, Distance = 73.3333...) - | | | ├> [2] (Id = -1521134293, Distance = 20.0) - | | | └> [2,2] (Id = 1372007286, Distance = 73.3333...) - | | └> [3,2] (Id = -149127009, Distance = 83.3333...) - | | ├> [2] (Id = -1521134293, Distance = 20.0) - | | └> [2,2] (Id = 1372007286, Distance = 73.3333...) - | ├> [4,3] (Id = -1670261303, Distance = 103.3333...) - | | ├> [4] (Id = -1521134291, Distance = 40.0) - | | └> [4,2] (Id = -1670261304, Distance = 93.3333...) - | | └> [2] (Id = -1521134293, Distance = 20.0) - | └> [5,2] (Id = 1103571697, Distance = 103.3333...) - | ├> [2] (Id = -1521134293, Distance = 20.0) - | ├> [1,2] (Id = -1401825715, Distance = 63.3333...) - | | ├> [2,1] (Id = 1372007285, Distance = 63.3333...) - | | | └> [1] (Id = -1521134294, Distance = 10.0) - | | └> [1] (Id = -1521134294, Distance = 10.0) - | ├> [3,2] (Id = -149127009, Distance = 83.3333...) - | | └> [2,2] (Id = 1372007286, Distance = 73.3333...) - | └> [4,2] (Id = -1670261304, Distance = 93.3333...) - | └> [4] (Id = -1521134291, Distance = 40.0) - └> [8,3] (Id = 835136109, Distance = 143.3333...) + └> [5,3] (Id = 1103571698, Distance = 113.3333...) + ├> [1,3] (Id = -1401825714, Distance = 73.3333...) + | ├> [3,1] (Id = -149127010, Distance = 73.3333...) + | | ├> [1] (Id = -1521134294, Distance = 10.0) + | | └> [2,1] (Id = 1372007285, Distance = 63.3333...) + | | └> [2] (Id = -1521134293, Distance = 20.0) + | ├> [1] (Id = -1521134294, Distance = 10.0) + | └> [1,2] (Id = -1401825715, Distance = 63.3333...) + | ├> [2,1] (Id = 1372007285, Distance = 63.3333...) + | | └> [2] (Id = -1521134293, Distance = 20.0) + | └> [2] (Id = -1521134293, Distance = 20.0) + ├> [3,3] (Id = -149127008, Distance = 93.3333...) + | ├> [2,3] (Id = 1372007287, Distance = 83.3333...) + | | ├> [3,2] (Id = -149127009, Distance = 83.3333...) + | | | ├> [2] (Id = -1521134293, Distance = 20.0) + | | | └> [2,2] (Id = 1372007286, Distance = 73.3333...) + | | ├> [2] (Id = -1521134293, Distance = 20.0) + | | └> [2,2] (Id = 1372007286, Distance = 73.3333...) + | └> [3,2] (Id = -149127009, Distance = 83.3333...) + | ├> [2] (Id = -1521134293, Distance = 20.0) + | └> [2,2] (Id = 1372007286, Distance = 73.3333...) + ├> [4,3] (Id = -1670261303, Distance = 103.3333...) + | ├> [4] (Id = -1521134291, Distance = 40.0) + | └> [4,2] (Id = -1670261304, Distance = 93.3333...) + | └> [2] (Id = -1521134293, Distance = 20.0) + └> [5,2] (Id = 1103571697, Distance = 103.3333...) + ├> [2] (Id = -1521134293, Distance = 20.0) + ├> [1,2] (Id = -1401825715, Distance = 63.3333...) + | ├> [2,1] (Id = 1372007285, Distance = 63.3333...) + | | └> [1] (Id = -1521134294, Distance = 10.0) + | └> [1] (Id = -1521134294, Distance = 10.0) + └> [3,2] (Id = -149127009, Distance = 83.3333...) + └> [2,2] (Id = 1372007286, Distance = 73.3333...) diff --git a/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_8_And_Elements_0_And_100_Bias_None_Seed_0.snap b/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_8_And_Elements_0_And_100_Bias_None_Seed_0.snap index 85387b44..784b4b7c 100644 --- a/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_8_And_Elements_0_And_100_Bias_None_Seed_0.snap +++ b/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_8_And_Elements_0_And_100_Bias_None_Seed_0.snap @@ -1,4 +1,26 @@ [95,35,24,100,100,7,1,74] (Id = -1610553612, Distance = 536.00) +├> [0,0,0,0,0,0,0,0] (Id = -1643036152, Distance = 100) +| ├> [0] (Id = -1521134295, Distance = 0) +| ├> [0,0,0,0,0] (Id = -618787475, Distance = 57.1429...) +| | ├> [0,0,0] (Id = -1760004949, Distance = 28.5714...) +| | | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| | ├> [0,0,0,0] (Id = 1553156228, Distance = 42.8571...) +| | | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| ├> [0,0,0,0,0,0,0] (Id = 1657169263, Distance = 85.7143...) +| | ├> [0,0,0,0] (Id = 1553156228, Distance = 42.8571...) +| | | ├> [0,0,0] (Id = -1760004949, Distance = 28.5714...) +| | | | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| | | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| | ├> [0,0,0,0,0,0] (Id = -1977115610, Distance = 71.4286...) +| | | └> [0,0,0] (Id = -1760004949, Distance = 28.5714...) +| | | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| | └> [0,0,0] (Id = -1760004949, Distance = 28.5714...) +| | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| └> [0,0,0,0] (Id = 1553156228, Distance = 42.8571...) +| ├> [0,0,0] (Id = -1760004949, Distance = 28.5714...) +| | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| └> [0,0] (Id = 119308578, Distance = 14.2857...) └> [100,100,95,74,35,24,7,1] (Id = -378779628, Distance = 536.00) ├> [100] (Id = -1521134195, Distance = 100) | ├> [0] (Id = -1521134295, Distance = 0) @@ -445,56 +467,34 @@ | | └> [73] (Id = -1521134222, Distance = 73.00) | └> [73,0] (Id = 745654739, Distance = 87.2857...) | └> [73] (Id = -1521134222, Distance = 73.00) - ├> [88,0] (Id = -596523206, Distance = 102.2857...) - | ├> [88] (Id = -1521134207, Distance = 88.00) - | | ├> [76] (Id = -1521134219, Distance = 76.00) - | | ├> [82] (Id = -1521134213, Distance = 82.00) - | | | ├> [77] (Id = -1521134218, Distance = 77.00) - | | | ├> [80] (Id = -1521134215, Distance = 80.0) - | | | | ├> [78] (Id = -1521134217, Distance = 78.00) - | | | | └> [79] (Id = -1521134216, Distance = 79.00) - | | | └> [81] (Id = -1521134214, Distance = 81.00) - | | ├> [85] (Id = -1521134210, Distance = 85.00) - | | | ├> [83] (Id = -1521134212, Distance = 83.00) - | | | └> [84] (Id = -1521134211, Distance = 84.00) - | | └> [87] (Id = -1521134208, Distance = 87.00) - | | └> [86] (Id = -1521134209, Distance = 86.00) - | ├> [76,0] (Id = 477219150, Distance = 90.2857...) - | | └> [76] (Id = -1521134219, Distance = 76.00) - | ├> [82,0] (Id = -59652028, Distance = 96.2857...) - | | ├> [82] (Id = -1521134213, Distance = 82.00) - | | | ├> [77] (Id = -1521134218, Distance = 77.00) - | | | ├> [80] (Id = -1521134215, Distance = 80.0) - | | | | ├> [78] (Id = -1521134217, Distance = 78.00) - | | | | └> [79] (Id = -1521134216, Distance = 79.00) - | | | └> [81] (Id = -1521134214, Distance = 81.00) - | | ├> [77,0] (Id = -1043915145, Distance = 91.2857...) - | | | └> [77] (Id = -1521134218, Distance = 77.00) - | | ├> [80,0] (Id = -1312350734, Distance = 94.2857...) - | | | ├> [80] (Id = -1521134215, Distance = 80.0) - | | | | ├> [78] (Id = -1521134217, Distance = 78.00) - | | | | └> [79] (Id = -1521134216, Distance = 79.00) - | | | ├> [78,0] (Id = 1729917856, Distance = 92.2857...) - | | | | └> [78] (Id = -1521134217, Distance = 78.00) - | | | └> [79,0] (Id = 208783561, Distance = 93.2857...) - | | | └> [79] (Id = -1521134216, Distance = 79.00) - | | └> [81,0] (Id = 1461482267, Distance = 95.2857...) - | | └> [81] (Id = -1521134214, Distance = 81.00) - | ├> [85,0] (Id = -328087617, Distance = 99.2857...) - | | ├> [85] (Id = -1521134210, Distance = 85.00) - | | | ├> [83] (Id = -1521134212, Distance = 83.00) - | | | └> [84] (Id = -1521134211, Distance = 84.00) - | | ├> [83,0] (Id = -1580786323, Distance = 97.2857...) - | | | └> [83] (Id = -1521134212, Distance = 83.00) - | | └> [84,0] (Id = 1193046678, Distance = 98.2857...) - | | └> [84] (Id = -1521134211, Distance = 84.00) - | └> [87,0] (Id = 924611089, Distance = 101.2857...) - | ├> [87] (Id = -1521134208, Distance = 87.00) - | | └> [86] (Id = -1521134209, Distance = 86.00) - | └> [86,0] (Id = -1849221912, Distance = 100.2857...) - | └> [86] (Id = -1521134209, Distance = 86.00) - └> [94,0] (Id = -1133394384, Distance = 108.2857...) - └> [94] (Id = -1521134201, Distance = 94.00) - ├> [89] (Id = -1521134206, Distance = 89.00) - └> [92] (Id = -1521134203, Distance = 92.00) - └> [90] (Id = -1521134205, Distance = 90.0) + └> [88,0] (Id = -596523206, Distance = 102.2857...) + ├> [88] (Id = -1521134207, Distance = 88.00) + | ├> [76] (Id = -1521134219, Distance = 76.00) + | ├> [82] (Id = -1521134213, Distance = 82.00) + | | ├> [77] (Id = -1521134218, Distance = 77.00) + | | ├> [80] (Id = -1521134215, Distance = 80.0) + | | | ├> [78] (Id = -1521134217, Distance = 78.00) + | | | └> [79] (Id = -1521134216, Distance = 79.00) + | | └> [81] (Id = -1521134214, Distance = 81.00) + | ├> [85] (Id = -1521134210, Distance = 85.00) + | | ├> [83] (Id = -1521134212, Distance = 83.00) + | | └> [84] (Id = -1521134211, Distance = 84.00) + | └> [87] (Id = -1521134208, Distance = 87.00) + | └> [86] (Id = -1521134209, Distance = 86.00) + ├> [76,0] (Id = 477219150, Distance = 90.2857...) + | └> [76] (Id = -1521134219, Distance = 76.00) + └> [82,0] (Id = -59652028, Distance = 96.2857...) + ├> [82] (Id = -1521134213, Distance = 82.00) + | ├> [77] (Id = -1521134218, Distance = 77.00) + | ├> [80] (Id = -1521134215, Distance = 80.0) + | | ├> [78] (Id = -1521134217, Distance = 78.00) + | | └> [79] (Id = -1521134216, Distance = 79.00) + | └> [81] (Id = -1521134214, Distance = 81.00) + ├> [77,0] (Id = -1043915145, Distance = 91.2857...) + | └> [77] (Id = -1521134218, Distance = 77.00) + └> [80,0] (Id = -1312350734, Distance = 94.2857...) + ├> [80] (Id = -1521134215, Distance = 80.0) + | ├> [78] (Id = -1521134217, Distance = 78.00) + | └> [79] (Id = -1521134216, Distance = 79.00) + └> [78,0] (Id = 1729917856, Distance = 92.2857...) + └> [78] (Id = -1521134217, Distance = 78.00) diff --git a/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_8_And_Elements_0_And_100_Bias_None_Seed_1.snap b/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_8_And_Elements_0_And_100_Bias_None_Seed_1.snap index ac8fb13c..2538692c 100644 --- a/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_8_And_Elements_0_And_100_Bias_None_Seed_1.snap +++ b/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_8_And_Elements_0_And_100_Bias_None_Seed_1.snap @@ -1,4 +1,26 @@ [73,53,25,60,10,66,67,100] (Id = -386484498, Distance = 554.00) +├> [0,0,0,0,0,0,0,0] (Id = -1643036152, Distance = 100) +| ├> [0] (Id = -1521134295, Distance = 0) +| ├> [0,0,0,0,0] (Id = -618787475, Distance = 57.1429...) +| | ├> [0,0,0] (Id = -1760004949, Distance = 28.5714...) +| | | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| | ├> [0,0,0,0] (Id = 1553156228, Distance = 42.8571...) +| | | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| ├> [0,0,0,0,0,0,0] (Id = 1657169263, Distance = 85.7143...) +| | ├> [0,0,0,0] (Id = 1553156228, Distance = 42.8571...) +| | | ├> [0,0,0] (Id = -1760004949, Distance = 28.5714...) +| | | | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| | | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| | ├> [0,0,0,0,0,0] (Id = -1977115610, Distance = 71.4286...) +| | | └> [0,0,0] (Id = -1760004949, Distance = 28.5714...) +| | | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| | └> [0,0,0] (Id = -1760004949, Distance = 28.5714...) +| | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| └> [0,0,0,0] (Id = 1553156228, Distance = 42.8571...) +| ├> [0,0,0] (Id = -1760004949, Distance = 28.5714...) +| | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| └> [0,0] (Id = 119308578, Distance = 14.2857...) └> [100,73,67,66,60,53,25,10] (Id = 56414030, Distance = 554.00) ├> [100] (Id = -1521134195, Distance = 100) | ├> [0] (Id = -1521134295, Distance = 0) @@ -475,26 +497,4 @@ └> [0,37] (Id = 119308615, Distance = 51.2857...) └> [37,0] (Id = -328085489, Distance = 51.2857...) └> [37] (Id = -1521134258, Distance = 37.00) - ├> [1] (Id = -1521134294, Distance = 1.00) - ├> [19] (Id = -1521134276, Distance = 19.00) - | ├> [2] (Id = -1521134293, Distance = 2.00) - | ├> [11] (Id = -1521134284, Distance = 11.00) - | | ├> [3] (Id = -1521134292, Distance = 3.00) - | | ├> [7] (Id = -1521134288, Distance = 7.00) - | | | ├> [4] (Id = -1521134291, Distance = 4.00) - | | | └> [6] (Id = -1521134289, Distance = 6.00) - | | | └> [5] (Id = -1521134290, Distance = 5.00) - | | ├> [9] (Id = -1521134286, Distance = 9.00) - | | | └> [8] (Id = -1521134287, Distance = 8.00) - | | └> [10] (Id = -1521134285, Distance = 10.0) - | ├> [15] (Id = -1521134280, Distance = 15.00) - | | ├> [12] (Id = -1521134283, Distance = 12.00) - | | └> [14] (Id = -1521134281, Distance = 14.00) - | | └> [13] (Id = -1521134282, Distance = 13.00) - | ├> [17] (Id = -1521134278, Distance = 17.00) - | | └> [16] (Id = -1521134279, Distance = 16.00) - | └> [18] (Id = -1521134277, Distance = 18.00) - └> [28] (Id = -1521134267, Distance = 28.00) - ├> [20] (Id = -1521134275, Distance = 20.0) - └> [24] (Id = -1521134271, Distance = 24.00) - └> [21] (Id = -1521134274, Distance = 21.00) + └> [1] (Id = -1521134294, Distance = 1.00) diff --git a/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_8_And_Elements_0_And_100_Bias_None_Seed_2.snap b/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_8_And_Elements_0_And_100_Bias_None_Seed_2.snap index a3c52033..2fc9d775 100644 --- a/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_8_And_Elements_0_And_100_Bias_None_Seed_2.snap +++ b/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_8_And_Elements_0_And_100_Bias_None_Seed_2.snap @@ -1,4 +1,19 @@ [100,100,82,81,81,31,61] (Id = -1368721946, Distance = 621.7143...) +├> [0,0,0,0,0,0,0] (Id = 1657169263, Distance = 85.7143...) +| ├> [0] (Id = -1521134295, Distance = 0) +| ├> [0,0,0,0] (Id = 1553156228, Distance = 42.8571...) +| | ├> [0,0,0] (Id = -1760004949, Distance = 28.5714...) +| | | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| ├> [0,0,0,0,0,0] (Id = -1977115610, Distance = 71.4286...) +| | ├> [0,0,0,0,0] (Id = -618787475, Distance = 57.1429...) +| | | ├> [0,0,0] (Id = -1760004949, Distance = 28.5714...) +| | | | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| | | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| | └> [0,0,0] (Id = -1760004949, Distance = 28.5714...) +| | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| └> [0,0,0] (Id = -1760004949, Distance = 28.5714...) +| └> [0,0] (Id = 119308578, Distance = 14.2857...) └> [100,100,82,81,81,61,31] (Id = -1995072393, Distance = 621.7143...) ├> [100] (Id = -1521134195, Distance = 100) | ├> [0] (Id = -1521134295, Distance = 0) @@ -445,56 +460,41 @@ | | └> [73] (Id = -1521134222, Distance = 73.00) | └> [73,0] (Id = 745654739, Distance = 87.2857...) | └> [73] (Id = -1521134222, Distance = 73.00) - ├> [88,0] (Id = -596523206, Distance = 102.2857...) - | ├> [88] (Id = -1521134207, Distance = 88.00) - | | ├> [76] (Id = -1521134219, Distance = 76.00) - | | ├> [82] (Id = -1521134213, Distance = 82.00) - | | | ├> [77] (Id = -1521134218, Distance = 77.00) - | | | ├> [80] (Id = -1521134215, Distance = 80.0) - | | | | ├> [78] (Id = -1521134217, Distance = 78.00) - | | | | └> [79] (Id = -1521134216, Distance = 79.00) - | | | └> [81] (Id = -1521134214, Distance = 81.00) - | | ├> [85] (Id = -1521134210, Distance = 85.00) - | | | ├> [83] (Id = -1521134212, Distance = 83.00) - | | | └> [84] (Id = -1521134211, Distance = 84.00) - | | └> [87] (Id = -1521134208, Distance = 87.00) - | | └> [86] (Id = -1521134209, Distance = 86.00) - | ├> [76,0] (Id = 477219150, Distance = 90.2857...) - | | └> [76] (Id = -1521134219, Distance = 76.00) - | ├> [82,0] (Id = -59652028, Distance = 96.2857...) - | | ├> [82] (Id = -1521134213, Distance = 82.00) - | | | ├> [77] (Id = -1521134218, Distance = 77.00) - | | | ├> [80] (Id = -1521134215, Distance = 80.0) - | | | | ├> [78] (Id = -1521134217, Distance = 78.00) - | | | | └> [79] (Id = -1521134216, Distance = 79.00) - | | | └> [81] (Id = -1521134214, Distance = 81.00) - | | ├> [77,0] (Id = -1043915145, Distance = 91.2857...) - | | | └> [77] (Id = -1521134218, Distance = 77.00) - | | ├> [80,0] (Id = -1312350734, Distance = 94.2857...) - | | | ├> [80] (Id = -1521134215, Distance = 80.0) - | | | | ├> [78] (Id = -1521134217, Distance = 78.00) - | | | | └> [79] (Id = -1521134216, Distance = 79.00) - | | | ├> [78,0] (Id = 1729917856, Distance = 92.2857...) - | | | | └> [78] (Id = -1521134217, Distance = 78.00) - | | | └> [79,0] (Id = 208783561, Distance = 93.2857...) - | | | └> [79] (Id = -1521134216, Distance = 79.00) - | | └> [81,0] (Id = 1461482267, Distance = 95.2857...) - | | └> [81] (Id = -1521134214, Distance = 81.00) - | ├> [85,0] (Id = -328087617, Distance = 99.2857...) - | | ├> [85] (Id = -1521134210, Distance = 85.00) - | | | ├> [83] (Id = -1521134212, Distance = 83.00) - | | | └> [84] (Id = -1521134211, Distance = 84.00) - | | ├> [83,0] (Id = -1580786323, Distance = 97.2857...) - | | | └> [83] (Id = -1521134212, Distance = 83.00) - | | └> [84,0] (Id = 1193046678, Distance = 98.2857...) - | | └> [84] (Id = -1521134211, Distance = 84.00) - | └> [87,0] (Id = 924611089, Distance = 101.2857...) - | ├> [87] (Id = -1521134208, Distance = 87.00) - | | └> [86] (Id = -1521134209, Distance = 86.00) - | └> [86,0] (Id = -1849221912, Distance = 100.2857...) - | └> [86] (Id = -1521134209, Distance = 86.00) - └> [94,0] (Id = -1133394384, Distance = 108.2857...) - └> [94] (Id = -1521134201, Distance = 94.00) - ├> [89] (Id = -1521134206, Distance = 89.00) - └> [92] (Id = -1521134203, Distance = 92.00) - └> [90] (Id = -1521134205, Distance = 90.0) + └> [88,0] (Id = -596523206, Distance = 102.2857...) + ├> [88] (Id = -1521134207, Distance = 88.00) + | ├> [76] (Id = -1521134219, Distance = 76.00) + | ├> [82] (Id = -1521134213, Distance = 82.00) + | | ├> [77] (Id = -1521134218, Distance = 77.00) + | | ├> [80] (Id = -1521134215, Distance = 80.0) + | | | ├> [78] (Id = -1521134217, Distance = 78.00) + | | | └> [79] (Id = -1521134216, Distance = 79.00) + | | └> [81] (Id = -1521134214, Distance = 81.00) + | ├> [85] (Id = -1521134210, Distance = 85.00) + | | ├> [83] (Id = -1521134212, Distance = 83.00) + | | └> [84] (Id = -1521134211, Distance = 84.00) + | └> [87] (Id = -1521134208, Distance = 87.00) + | └> [86] (Id = -1521134209, Distance = 86.00) + ├> [76,0] (Id = 477219150, Distance = 90.2857...) + | └> [76] (Id = -1521134219, Distance = 76.00) + ├> [82,0] (Id = -59652028, Distance = 96.2857...) + | ├> [82] (Id = -1521134213, Distance = 82.00) + | | ├> [77] (Id = -1521134218, Distance = 77.00) + | | ├> [80] (Id = -1521134215, Distance = 80.0) + | | | ├> [78] (Id = -1521134217, Distance = 78.00) + | | | └> [79] (Id = -1521134216, Distance = 79.00) + | | └> [81] (Id = -1521134214, Distance = 81.00) + | ├> [77,0] (Id = -1043915145, Distance = 91.2857...) + | | └> [77] (Id = -1521134218, Distance = 77.00) + | ├> [80,0] (Id = -1312350734, Distance = 94.2857...) + | | ├> [80] (Id = -1521134215, Distance = 80.0) + | | | ├> [78] (Id = -1521134217, Distance = 78.00) + | | | └> [79] (Id = -1521134216, Distance = 79.00) + | | ├> [78,0] (Id = 1729917856, Distance = 92.2857...) + | | | └> [78] (Id = -1521134217, Distance = 78.00) + | | └> [79,0] (Id = 208783561, Distance = 93.2857...) + | | └> [79] (Id = -1521134216, Distance = 79.00) + | └> [81,0] (Id = 1461482267, Distance = 95.2857...) + | └> [81] (Id = -1521134214, Distance = 81.00) + └> [85,0] (Id = -328087617, Distance = 99.2857...) + └> [85] (Id = -1521134210, Distance = 85.00) + └> [83] (Id = -1521134212, Distance = 83.00) diff --git a/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_8_And_Elements_0_And_100_Bias_WithSize_Seed_0.snap b/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_8_And_Elements_0_And_100_Bias_WithSize_Seed_0.snap index 85387b44..784b4b7c 100644 --- a/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_8_And_Elements_0_And_100_Bias_WithSize_Seed_0.snap +++ b/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_8_And_Elements_0_And_100_Bias_WithSize_Seed_0.snap @@ -1,4 +1,26 @@ [95,35,24,100,100,7,1,74] (Id = -1610553612, Distance = 536.00) +├> [0,0,0,0,0,0,0,0] (Id = -1643036152, Distance = 100) +| ├> [0] (Id = -1521134295, Distance = 0) +| ├> [0,0,0,0,0] (Id = -618787475, Distance = 57.1429...) +| | ├> [0,0,0] (Id = -1760004949, Distance = 28.5714...) +| | | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| | ├> [0,0,0,0] (Id = 1553156228, Distance = 42.8571...) +| | | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| ├> [0,0,0,0,0,0,0] (Id = 1657169263, Distance = 85.7143...) +| | ├> [0,0,0,0] (Id = 1553156228, Distance = 42.8571...) +| | | ├> [0,0,0] (Id = -1760004949, Distance = 28.5714...) +| | | | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| | | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| | ├> [0,0,0,0,0,0] (Id = -1977115610, Distance = 71.4286...) +| | | └> [0,0,0] (Id = -1760004949, Distance = 28.5714...) +| | | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| | └> [0,0,0] (Id = -1760004949, Distance = 28.5714...) +| | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| └> [0,0,0,0] (Id = 1553156228, Distance = 42.8571...) +| ├> [0,0,0] (Id = -1760004949, Distance = 28.5714...) +| | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| └> [0,0] (Id = 119308578, Distance = 14.2857...) └> [100,100,95,74,35,24,7,1] (Id = -378779628, Distance = 536.00) ├> [100] (Id = -1521134195, Distance = 100) | ├> [0] (Id = -1521134295, Distance = 0) @@ -445,56 +467,34 @@ | | └> [73] (Id = -1521134222, Distance = 73.00) | └> [73,0] (Id = 745654739, Distance = 87.2857...) | └> [73] (Id = -1521134222, Distance = 73.00) - ├> [88,0] (Id = -596523206, Distance = 102.2857...) - | ├> [88] (Id = -1521134207, Distance = 88.00) - | | ├> [76] (Id = -1521134219, Distance = 76.00) - | | ├> [82] (Id = -1521134213, Distance = 82.00) - | | | ├> [77] (Id = -1521134218, Distance = 77.00) - | | | ├> [80] (Id = -1521134215, Distance = 80.0) - | | | | ├> [78] (Id = -1521134217, Distance = 78.00) - | | | | └> [79] (Id = -1521134216, Distance = 79.00) - | | | └> [81] (Id = -1521134214, Distance = 81.00) - | | ├> [85] (Id = -1521134210, Distance = 85.00) - | | | ├> [83] (Id = -1521134212, Distance = 83.00) - | | | └> [84] (Id = -1521134211, Distance = 84.00) - | | └> [87] (Id = -1521134208, Distance = 87.00) - | | └> [86] (Id = -1521134209, Distance = 86.00) - | ├> [76,0] (Id = 477219150, Distance = 90.2857...) - | | └> [76] (Id = -1521134219, Distance = 76.00) - | ├> [82,0] (Id = -59652028, Distance = 96.2857...) - | | ├> [82] (Id = -1521134213, Distance = 82.00) - | | | ├> [77] (Id = -1521134218, Distance = 77.00) - | | | ├> [80] (Id = -1521134215, Distance = 80.0) - | | | | ├> [78] (Id = -1521134217, Distance = 78.00) - | | | | └> [79] (Id = -1521134216, Distance = 79.00) - | | | └> [81] (Id = -1521134214, Distance = 81.00) - | | ├> [77,0] (Id = -1043915145, Distance = 91.2857...) - | | | └> [77] (Id = -1521134218, Distance = 77.00) - | | ├> [80,0] (Id = -1312350734, Distance = 94.2857...) - | | | ├> [80] (Id = -1521134215, Distance = 80.0) - | | | | ├> [78] (Id = -1521134217, Distance = 78.00) - | | | | └> [79] (Id = -1521134216, Distance = 79.00) - | | | ├> [78,0] (Id = 1729917856, Distance = 92.2857...) - | | | | └> [78] (Id = -1521134217, Distance = 78.00) - | | | └> [79,0] (Id = 208783561, Distance = 93.2857...) - | | | └> [79] (Id = -1521134216, Distance = 79.00) - | | └> [81,0] (Id = 1461482267, Distance = 95.2857...) - | | └> [81] (Id = -1521134214, Distance = 81.00) - | ├> [85,0] (Id = -328087617, Distance = 99.2857...) - | | ├> [85] (Id = -1521134210, Distance = 85.00) - | | | ├> [83] (Id = -1521134212, Distance = 83.00) - | | | └> [84] (Id = -1521134211, Distance = 84.00) - | | ├> [83,0] (Id = -1580786323, Distance = 97.2857...) - | | | └> [83] (Id = -1521134212, Distance = 83.00) - | | └> [84,0] (Id = 1193046678, Distance = 98.2857...) - | | └> [84] (Id = -1521134211, Distance = 84.00) - | └> [87,0] (Id = 924611089, Distance = 101.2857...) - | ├> [87] (Id = -1521134208, Distance = 87.00) - | | └> [86] (Id = -1521134209, Distance = 86.00) - | └> [86,0] (Id = -1849221912, Distance = 100.2857...) - | └> [86] (Id = -1521134209, Distance = 86.00) - └> [94,0] (Id = -1133394384, Distance = 108.2857...) - └> [94] (Id = -1521134201, Distance = 94.00) - ├> [89] (Id = -1521134206, Distance = 89.00) - └> [92] (Id = -1521134203, Distance = 92.00) - └> [90] (Id = -1521134205, Distance = 90.0) + └> [88,0] (Id = -596523206, Distance = 102.2857...) + ├> [88] (Id = -1521134207, Distance = 88.00) + | ├> [76] (Id = -1521134219, Distance = 76.00) + | ├> [82] (Id = -1521134213, Distance = 82.00) + | | ├> [77] (Id = -1521134218, Distance = 77.00) + | | ├> [80] (Id = -1521134215, Distance = 80.0) + | | | ├> [78] (Id = -1521134217, Distance = 78.00) + | | | └> [79] (Id = -1521134216, Distance = 79.00) + | | └> [81] (Id = -1521134214, Distance = 81.00) + | ├> [85] (Id = -1521134210, Distance = 85.00) + | | ├> [83] (Id = -1521134212, Distance = 83.00) + | | └> [84] (Id = -1521134211, Distance = 84.00) + | └> [87] (Id = -1521134208, Distance = 87.00) + | └> [86] (Id = -1521134209, Distance = 86.00) + ├> [76,0] (Id = 477219150, Distance = 90.2857...) + | └> [76] (Id = -1521134219, Distance = 76.00) + └> [82,0] (Id = -59652028, Distance = 96.2857...) + ├> [82] (Id = -1521134213, Distance = 82.00) + | ├> [77] (Id = -1521134218, Distance = 77.00) + | ├> [80] (Id = -1521134215, Distance = 80.0) + | | ├> [78] (Id = -1521134217, Distance = 78.00) + | | └> [79] (Id = -1521134216, Distance = 79.00) + | └> [81] (Id = -1521134214, Distance = 81.00) + ├> [77,0] (Id = -1043915145, Distance = 91.2857...) + | └> [77] (Id = -1521134218, Distance = 77.00) + └> [80,0] (Id = -1312350734, Distance = 94.2857...) + ├> [80] (Id = -1521134215, Distance = 80.0) + | ├> [78] (Id = -1521134217, Distance = 78.00) + | └> [79] (Id = -1521134216, Distance = 79.00) + └> [78,0] (Id = 1729917856, Distance = 92.2857...) + └> [78] (Id = -1521134217, Distance = 78.00) diff --git a/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_8_And_Elements_0_And_100_Bias_WithSize_Seed_1.snap b/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_8_And_Elements_0_And_100_Bias_WithSize_Seed_1.snap index ac8fb13c..2538692c 100644 --- a/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_8_And_Elements_0_And_100_Bias_WithSize_Seed_1.snap +++ b/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_8_And_Elements_0_And_100_Bias_WithSize_Seed_1.snap @@ -1,4 +1,26 @@ [73,53,25,60,10,66,67,100] (Id = -386484498, Distance = 554.00) +├> [0,0,0,0,0,0,0,0] (Id = -1643036152, Distance = 100) +| ├> [0] (Id = -1521134295, Distance = 0) +| ├> [0,0,0,0,0] (Id = -618787475, Distance = 57.1429...) +| | ├> [0,0,0] (Id = -1760004949, Distance = 28.5714...) +| | | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| | ├> [0,0,0,0] (Id = 1553156228, Distance = 42.8571...) +| | | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| ├> [0,0,0,0,0,0,0] (Id = 1657169263, Distance = 85.7143...) +| | ├> [0,0,0,0] (Id = 1553156228, Distance = 42.8571...) +| | | ├> [0,0,0] (Id = -1760004949, Distance = 28.5714...) +| | | | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| | | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| | ├> [0,0,0,0,0,0] (Id = -1977115610, Distance = 71.4286...) +| | | └> [0,0,0] (Id = -1760004949, Distance = 28.5714...) +| | | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| | └> [0,0,0] (Id = -1760004949, Distance = 28.5714...) +| | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| └> [0,0,0,0] (Id = 1553156228, Distance = 42.8571...) +| ├> [0,0,0] (Id = -1760004949, Distance = 28.5714...) +| | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| └> [0,0] (Id = 119308578, Distance = 14.2857...) └> [100,73,67,66,60,53,25,10] (Id = 56414030, Distance = 554.00) ├> [100] (Id = -1521134195, Distance = 100) | ├> [0] (Id = -1521134295, Distance = 0) @@ -475,26 +497,4 @@ └> [0,37] (Id = 119308615, Distance = 51.2857...) └> [37,0] (Id = -328085489, Distance = 51.2857...) └> [37] (Id = -1521134258, Distance = 37.00) - ├> [1] (Id = -1521134294, Distance = 1.00) - ├> [19] (Id = -1521134276, Distance = 19.00) - | ├> [2] (Id = -1521134293, Distance = 2.00) - | ├> [11] (Id = -1521134284, Distance = 11.00) - | | ├> [3] (Id = -1521134292, Distance = 3.00) - | | ├> [7] (Id = -1521134288, Distance = 7.00) - | | | ├> [4] (Id = -1521134291, Distance = 4.00) - | | | └> [6] (Id = -1521134289, Distance = 6.00) - | | | └> [5] (Id = -1521134290, Distance = 5.00) - | | ├> [9] (Id = -1521134286, Distance = 9.00) - | | | └> [8] (Id = -1521134287, Distance = 8.00) - | | └> [10] (Id = -1521134285, Distance = 10.0) - | ├> [15] (Id = -1521134280, Distance = 15.00) - | | ├> [12] (Id = -1521134283, Distance = 12.00) - | | └> [14] (Id = -1521134281, Distance = 14.00) - | | └> [13] (Id = -1521134282, Distance = 13.00) - | ├> [17] (Id = -1521134278, Distance = 17.00) - | | └> [16] (Id = -1521134279, Distance = 16.00) - | └> [18] (Id = -1521134277, Distance = 18.00) - └> [28] (Id = -1521134267, Distance = 28.00) - ├> [20] (Id = -1521134275, Distance = 20.0) - └> [24] (Id = -1521134271, Distance = 24.00) - └> [21] (Id = -1521134274, Distance = 21.00) + └> [1] (Id = -1521134294, Distance = 1.00) diff --git a/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_8_And_Elements_0_And_100_Bias_WithSize_Seed_2.snap b/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_8_And_Elements_0_And_100_Bias_WithSize_Seed_2.snap index a3c52033..2fc9d775 100644 --- a/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_8_And_Elements_0_And_100_Bias_WithSize_Seed_2.snap +++ b/src/GalaxyCheck.Tests/GenTests/ListGenTests/__snapshots__/Snapshots.ExampleSpaces_Int32_Between_Counts_1_And_8_And_Elements_0_And_100_Bias_WithSize_Seed_2.snap @@ -1,4 +1,19 @@ [100,100,82,81,81,31,61] (Id = -1368721946, Distance = 621.7143...) +├> [0,0,0,0,0,0,0] (Id = 1657169263, Distance = 85.7143...) +| ├> [0] (Id = -1521134295, Distance = 0) +| ├> [0,0,0,0] (Id = 1553156228, Distance = 42.8571...) +| | ├> [0,0,0] (Id = -1760004949, Distance = 28.5714...) +| | | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| ├> [0,0,0,0,0,0] (Id = -1977115610, Distance = 71.4286...) +| | ├> [0,0,0,0,0] (Id = -618787475, Distance = 57.1429...) +| | | ├> [0,0,0] (Id = -1760004949, Distance = 28.5714...) +| | | | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| | | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| | └> [0,0,0] (Id = -1760004949, Distance = 28.5714...) +| | └> [0,0] (Id = 119308578, Distance = 14.2857...) +| └> [0,0,0] (Id = -1760004949, Distance = 28.5714...) +| └> [0,0] (Id = 119308578, Distance = 14.2857...) └> [100,100,82,81,81,61,31] (Id = -1995072393, Distance = 621.7143...) ├> [100] (Id = -1521134195, Distance = 100) | ├> [0] (Id = -1521134295, Distance = 0) @@ -445,56 +460,41 @@ | | └> [73] (Id = -1521134222, Distance = 73.00) | └> [73,0] (Id = 745654739, Distance = 87.2857...) | └> [73] (Id = -1521134222, Distance = 73.00) - ├> [88,0] (Id = -596523206, Distance = 102.2857...) - | ├> [88] (Id = -1521134207, Distance = 88.00) - | | ├> [76] (Id = -1521134219, Distance = 76.00) - | | ├> [82] (Id = -1521134213, Distance = 82.00) - | | | ├> [77] (Id = -1521134218, Distance = 77.00) - | | | ├> [80] (Id = -1521134215, Distance = 80.0) - | | | | ├> [78] (Id = -1521134217, Distance = 78.00) - | | | | └> [79] (Id = -1521134216, Distance = 79.00) - | | | └> [81] (Id = -1521134214, Distance = 81.00) - | | ├> [85] (Id = -1521134210, Distance = 85.00) - | | | ├> [83] (Id = -1521134212, Distance = 83.00) - | | | └> [84] (Id = -1521134211, Distance = 84.00) - | | └> [87] (Id = -1521134208, Distance = 87.00) - | | └> [86] (Id = -1521134209, Distance = 86.00) - | ├> [76,0] (Id = 477219150, Distance = 90.2857...) - | | └> [76] (Id = -1521134219, Distance = 76.00) - | ├> [82,0] (Id = -59652028, Distance = 96.2857...) - | | ├> [82] (Id = -1521134213, Distance = 82.00) - | | | ├> [77] (Id = -1521134218, Distance = 77.00) - | | | ├> [80] (Id = -1521134215, Distance = 80.0) - | | | | ├> [78] (Id = -1521134217, Distance = 78.00) - | | | | └> [79] (Id = -1521134216, Distance = 79.00) - | | | └> [81] (Id = -1521134214, Distance = 81.00) - | | ├> [77,0] (Id = -1043915145, Distance = 91.2857...) - | | | └> [77] (Id = -1521134218, Distance = 77.00) - | | ├> [80,0] (Id = -1312350734, Distance = 94.2857...) - | | | ├> [80] (Id = -1521134215, Distance = 80.0) - | | | | ├> [78] (Id = -1521134217, Distance = 78.00) - | | | | └> [79] (Id = -1521134216, Distance = 79.00) - | | | ├> [78,0] (Id = 1729917856, Distance = 92.2857...) - | | | | └> [78] (Id = -1521134217, Distance = 78.00) - | | | └> [79,0] (Id = 208783561, Distance = 93.2857...) - | | | └> [79] (Id = -1521134216, Distance = 79.00) - | | └> [81,0] (Id = 1461482267, Distance = 95.2857...) - | | └> [81] (Id = -1521134214, Distance = 81.00) - | ├> [85,0] (Id = -328087617, Distance = 99.2857...) - | | ├> [85] (Id = -1521134210, Distance = 85.00) - | | | ├> [83] (Id = -1521134212, Distance = 83.00) - | | | └> [84] (Id = -1521134211, Distance = 84.00) - | | ├> [83,0] (Id = -1580786323, Distance = 97.2857...) - | | | └> [83] (Id = -1521134212, Distance = 83.00) - | | └> [84,0] (Id = 1193046678, Distance = 98.2857...) - | | └> [84] (Id = -1521134211, Distance = 84.00) - | └> [87,0] (Id = 924611089, Distance = 101.2857...) - | ├> [87] (Id = -1521134208, Distance = 87.00) - | | └> [86] (Id = -1521134209, Distance = 86.00) - | └> [86,0] (Id = -1849221912, Distance = 100.2857...) - | └> [86] (Id = -1521134209, Distance = 86.00) - └> [94,0] (Id = -1133394384, Distance = 108.2857...) - └> [94] (Id = -1521134201, Distance = 94.00) - ├> [89] (Id = -1521134206, Distance = 89.00) - └> [92] (Id = -1521134203, Distance = 92.00) - └> [90] (Id = -1521134205, Distance = 90.0) + └> [88,0] (Id = -596523206, Distance = 102.2857...) + ├> [88] (Id = -1521134207, Distance = 88.00) + | ├> [76] (Id = -1521134219, Distance = 76.00) + | ├> [82] (Id = -1521134213, Distance = 82.00) + | | ├> [77] (Id = -1521134218, Distance = 77.00) + | | ├> [80] (Id = -1521134215, Distance = 80.0) + | | | ├> [78] (Id = -1521134217, Distance = 78.00) + | | | └> [79] (Id = -1521134216, Distance = 79.00) + | | └> [81] (Id = -1521134214, Distance = 81.00) + | ├> [85] (Id = -1521134210, Distance = 85.00) + | | ├> [83] (Id = -1521134212, Distance = 83.00) + | | └> [84] (Id = -1521134211, Distance = 84.00) + | └> [87] (Id = -1521134208, Distance = 87.00) + | └> [86] (Id = -1521134209, Distance = 86.00) + ├> [76,0] (Id = 477219150, Distance = 90.2857...) + | └> [76] (Id = -1521134219, Distance = 76.00) + ├> [82,0] (Id = -59652028, Distance = 96.2857...) + | ├> [82] (Id = -1521134213, Distance = 82.00) + | | ├> [77] (Id = -1521134218, Distance = 77.00) + | | ├> [80] (Id = -1521134215, Distance = 80.0) + | | | ├> [78] (Id = -1521134217, Distance = 78.00) + | | | └> [79] (Id = -1521134216, Distance = 79.00) + | | └> [81] (Id = -1521134214, Distance = 81.00) + | ├> [77,0] (Id = -1043915145, Distance = 91.2857...) + | | └> [77] (Id = -1521134218, Distance = 77.00) + | ├> [80,0] (Id = -1312350734, Distance = 94.2857...) + | | ├> [80] (Id = -1521134215, Distance = 80.0) + | | | ├> [78] (Id = -1521134217, Distance = 78.00) + | | | └> [79] (Id = -1521134216, Distance = 79.00) + | | ├> [78,0] (Id = 1729917856, Distance = 92.2857...) + | | | └> [78] (Id = -1521134217, Distance = 78.00) + | | └> [79,0] (Id = 208783561, Distance = 93.2857...) + | | └> [79] (Id = -1521134216, Distance = 79.00) + | └> [81,0] (Id = 1461482267, Distance = 95.2857...) + | └> [81] (Id = -1521134214, Distance = 81.00) + └> [85,0] (Id = -328087617, Distance = 99.2857...) + └> [85] (Id = -1521134210, Distance = 85.00) + └> [83] (Id = -1521134212, Distance = 83.00) diff --git a/src/GalaxyCheck/ExampleSpaces/ExampleSpaceFactory_Merge.cs b/src/GalaxyCheck/ExampleSpaces/ExampleSpaceFactory_Merge.cs index 578f0a9a..37c43103 100644 --- a/src/GalaxyCheck/ExampleSpaces/ExampleSpaceFactory_Merge.cs +++ b/src/GalaxyCheck/ExampleSpaces/ExampleSpaceFactory_Merge.cs @@ -12,13 +12,16 @@ public static IExampleSpace Merge( List> exampleSpaces, Func, TResult> mergeValues, ShrinkFunc>> shrinkExampleSpaces, - MeasureFunc>> measureMerge) => + MeasureFunc>> measureMerge, + bool enableSmallestExampleSpacesOptimization) => MergeHelpers.MergeInternal( exampleSpaces, mergeValues, shrinkExampleSpaces, measureMerge, - ImmutableHashSet.Create()); + ImmutableHashSet.Create(), + enableSmallestExampleSpacesOptimization, + true); private static class MergeHelpers { @@ -27,11 +30,20 @@ public static IExampleSpace MergeInternal( Func, TResult> mergeValues, ShrinkFunc>> shrinkExampleSpaces, MeasureFunc>> measureMerge, - ImmutableHashSet encounteredIds) + ImmutableHashSet encounteredIds, + bool enableSmallestExampleSpacesOptimization, + bool isRoot) { IExampleSpace GenerateNextExampleSpace(IEnumerable> exampleSpaces, ImmutableHashSet encounteredIds) { - return MergeInternal(exampleSpaces.ToList(), mergeValues, shrinkExampleSpaces, measureMerge, encounteredIds); + return MergeInternal( + exampleSpaces.ToList(), + mergeValues, + shrinkExampleSpaces, + measureMerge, + encounteredIds, + enableSmallestExampleSpacesOptimization, + false); } var mergedId = exampleSpaces.Aggregate( @@ -47,6 +59,16 @@ IExampleSpace GenerateNextExampleSpace(IEnumerable> ex mergedValue, mergedDistance); + var smallestExampleSpacesShrink = enableSmallestExampleSpacesOptimization && isRoot && exampleSpaces.Any(exampleSpace => exampleSpace.Subspace.Any()) + ? exampleSpaces + .Select(exampleSpace => + { + var smallestExampleSpace = exampleSpace.Subspace.FirstOrDefault() ?? exampleSpace; + return smallestExampleSpace; + }) + .ToList() + : null; + var exampleSpaceCullingShrinks = shrinkExampleSpaces(exampleSpaces); var subspaceMergingShrinks = exampleSpaces @@ -54,7 +76,9 @@ IExampleSpace GenerateNextExampleSpace(IEnumerable> ex .SelectMany(exampleSpaces => exampleSpaces); var shrinks = TraverseUnencountered( - Enumerable.Concat(exampleSpaceCullingShrinks, subspaceMergingShrinks), + Enumerable.Concat( + smallestExampleSpacesShrink == null ? Enumerable.Empty>>() : new[] { smallestExampleSpacesShrink }.AsEnumerable(), + Enumerable.Concat(exampleSpaceCullingShrinks, subspaceMergingShrinks)), encounteredIds, GenerateNextExampleSpace); diff --git a/src/GalaxyCheck/Gens/InfiniteGen.cs b/src/GalaxyCheck/Gens/InfiniteGen.cs index 3a2e2902..ed50f8ce 100644 --- a/src/GalaxyCheck/Gens/InfiniteGen.cs +++ b/src/GalaxyCheck/Gens/InfiniteGen.cs @@ -120,7 +120,8 @@ private static IExampleSpace> CreateInfiniteEnumerableSpace( exampleSpaces, xs => xs, ShrinkTowardsLength(1), - (_) => 0); + (_) => 0, + enableSmallestExampleSpacesOptimization: false); return rootExampleExplored.Subspace.Select(es => es.Map(SealEnumerable)); }); diff --git a/src/GalaxyCheck/Gens/ListGen.cs b/src/GalaxyCheck/Gens/ListGen.cs index a482a606..b7792d68 100644 --- a/src/GalaxyCheck/Gens/ListGen.cs +++ b/src/GalaxyCheck/Gens/ListGen.cs @@ -210,7 +210,8 @@ IEnumerable>> Run(GenParameters parameters) instances.Select(instance => instance.ExampleSpace).ToList(), values => values.ToImmutableList(), shrink, - exampleSpaces => exampleSpaces.Sum(exs => exs.Current.Distance) + measureCount(exampleSpaces.Count)); + exampleSpaces => exampleSpaces.Sum(exs => exs.Current.Distance) + measureCount(exampleSpaces.Count), + enableSmallestExampleSpacesOptimization: true); yield return GenIterationFactory.Instance(parameters, nextParameters, exampleSpace); } diff --git a/src/GalaxyCheck/Gens/SetGen.cs b/src/GalaxyCheck/Gens/SetGen.cs index 307d2f03..bbafe956 100644 --- a/src/GalaxyCheck/Gens/SetGen.cs +++ b/src/GalaxyCheck/Gens/SetGen.cs @@ -186,7 +186,8 @@ IEnumerable>> Run(GenParameters parameters) instances.Select(instance => instance.ExampleSpace).ToList(), values => new HashSet(values), shrink, - exampleSpaces => exampleSpaces.Sum(exs => exs.Current.Distance) + measureCount(exampleSpaces.Count)) + exampleSpaces => exampleSpaces.Sum(exs => exs.Current.Distance) + measureCount(exampleSpaces.Count), + enableSmallestExampleSpacesOptimization: true) .Filter(set => set.Count >= minCount); yield return GenIterationFactory.Instance(parameters, nextParameters, exampleSpace!); @@ -263,7 +264,8 @@ IEnumerable>> Run(GenParameters parameters) instances.Select(instance => instance.ExampleSpace).ToList(), values => new HashSet(values), shrink, - exampleSpaces => exampleSpaces.Sum(exs => exs.Current.Distance) + measureCount(exampleSpaces.Count)); + exampleSpaces => exampleSpaces.Sum(exs => exs.Current.Distance) + measureCount(exampleSpaces.Count), + enableSmallestExampleSpacesOptimization: true); yield return GenIterationFactory.Instance(parameters, nextParameters, exampleSpace!); } @@ -321,4 +323,4 @@ private static ShrinkFunc>> ShrinkTowardsCount(int count) private static IGen> Error(string message) => Gen.Advanced.Error>(nameof(SetGen), message); } -} \ No newline at end of file +}