From 526a998e4183e3d24621d7413d44eae91003e8be Mon Sep 17 00:00:00 2001 From: Michael Miller Date: Sat, 27 Jan 2024 11:25:25 -0700 Subject: [PATCH] Shorten compare_values case statements --- src/spectator/mocks/abstract_arguments.cr | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/src/spectator/mocks/abstract_arguments.cr b/src/spectator/mocks/abstract_arguments.cr index fd9bac9..4a6f75f 100644 --- a/src/spectator/mocks/abstract_arguments.cr +++ b/src/spectator/mocks/abstract_arguments.cr @@ -45,23 +45,14 @@ module Spectator when Range # Ranges can only be matched against if their right side is comparable. # Ensure the right side is comparable, otherwise compare directly. - if b.is_a?(Comparable(typeof(b))) - a === b - else - a == b - end + return a === b if b.is_a?(Comparable(typeof(b))) + a == b when Tuple, Array - if b.is_a?(Tuple) || b.is_a?(Array) - compare_tuples(a, b) - else - a === b - end + return compare_tuples(a, b) if b.is_a?(Tuple) || b.is_a?(Array) + a === b when NamedTuple, Hash - if b.is_a?(NamedTuple) || b.is_a?(Hash) - compare_named_tuples(a, b) - else - a === b - end + return compare_named_tuples(a, b) if b.is_a?(NamedTuple) || b.is_a?(Hash) + a === b else a === b end