]> git.saurik.com Git - redis.git/blobdiff - tests/unit/sort.tcl
A few SORT tests made more resistant to false negatives resulitng from poor randomiza...
[redis.git] / tests / unit / sort.tcl
index 20eec44bc903c50a7418ee5723e0c3262e3eb867..ba4122540e490cecffaaf34e847b5fff96acf496 100644 (file)
@@ -159,10 +159,36 @@ start_server {
 
     test "SORT with BY <constant> and STORE should still order output" {
         r del myset mylist
-        r sadd myset a b c d e f g h i l m n o p q r s t u v z
+        r sadd myset a b c d e f g h i l m n o p q r s t u v z aa aaa azz
         r sort myset alpha by _ store mylist
         r lrange mylist 0 -1
-    } {a b c d e f g h i l m n o p q r s t u v z}
+    } {a aa aaa azz b c d e f g h i l m n o p q r s t u v z}
+
+    test "SORT will complain with numerical sorting and bad doubles (1)" {
+        r del myset
+        r sadd myset 1 2 3 4 not-a-double
+        set e {}
+        catch {r sort myset} e
+        set e
+    } {*ERR*double*}
+
+    test "SORT will complain with numerical sorting and bad doubles (2)" {
+        r del myset
+        r sadd myset 1 2 3 4
+        r mset score:1 10 score:2 20 score:3 30 score:4 not-a-double
+        set e {}
+        catch {r sort myset by score:*} e
+        set e
+    } {*ERR*double*}
+
+    test "SORT BY sub-sorts lexicographically if score is the same" {
+        r del myset
+        r sadd myset a b c d e f g h i l m n o p q r s t u v z aa aaa azz
+        foreach ele {a aa aaa azz b c d e f g h i l m n o p q r s t u v z} {
+            set score:$ele 100
+        }
+        r sort myset by score:*
+    } {a aa aaa azz b c d e f g h i l m n o p q r s t u v z}
 
     tags {"slow"} {
         set num 100