input=[4, 2, 5, 1, 3]; zero_based_rank=2
selected=3; partitioned=[2, 1, 3, 4, 5]; fully_sorted=False
left_of_rank=[2, 1]; comparisons=4
sorted_input_select_min_comparisons=[(5, 10), (10, 45), (20, 190)]
arrays=1092; rank_cases=6015; invalid_inputs=7
PASS: selected rank, partition boundaries, duplicates and preserved multiset
