summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorzimoun <zimon.toutoune@gmail.com>2021-01-19 22:28:08 +0100
committerLudovic Courtès <ludo@gnu.org>2021-02-03 12:41:28 +0100
commit9505b54a4f9f0265c9d8be53763f0c59d6f62a44 (patch)
treeac6e41db124f60baa4ddae929f407cd343fdb8a8 /tests
parente55f1ac7773841838f82ac10f3bf8cde514ca4dd (diff)
downloadguix-patches-9505b54a4f9f0265c9d8be53763f0c59d6f62a44.tar
guix-patches-9505b54a4f9f0265c9d8be53763f0c59d6f62a44.tar.gz
utils: Add string distance.
* guix/utils.scm (string-distance): New procedure. (string-closest): New procedure. * tests/utils.scm ("string-distance", "string-closest"): New tests. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'tests')
-rw-r--r--tests/utils.scm18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/utils.scm b/tests/utils.scm
index 62ec7e8b4c..7fcbb25552 100644
--- a/tests/utils.scm
+++ b/tests/utils.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
+;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -271,6 +272,23 @@ skip these tests."
string-reverse)
(call-with-input-file temp-file get-string-all)))
+(test-equal "string-distance"
+ '(0 1 1 5 5)
+ (list
+ (string-distance "hello" "hello")
+ (string-distance "hello" "helo")
+ (string-distance "helo" "hello")
+ (string-distance "" "hello")
+ (string-distance "hello" "")))
+
+(test-equal "string-closest"
+ '("hello" "hello" "helo" #f)
+ (list
+ (string-closest "hello" '("hello"))
+ (string-closest "hello" '("helo" "hello" "halo"))
+ (string-closest "hello" '("kikoo" "helo" "hihihi" "halo"))
+ (string-closest "hello" '("aaaaa" "12345" "hellohello" "h"))))
+
(test-end)
(false-if-exception (delete-file temp-file))