Rename unsigned-int? to unsigned-int-string?

dev
KKlochko 2 years ago
parent 0261c97d76
commit 91dc00ea0d

@ -2,7 +2,7 @@
(:require [cheshire.core :as cc]) (:require [cheshire.core :as cc])
(:gen-class)) (:gen-class))
(defn unsigned-int? (defn unsigned-int-string?
"Return true if the string is an unsigned integer." "Return true if the string is an unsigned integer."
[str] [str]
(if (re-matches #"\d+" str) (if (re-matches #"\d+" str)
@ -15,7 +15,7 @@
(int? str-or-int) (int? str-or-int)
str-or-int str-or-int
(unsigned-int? str-or-int) (unsigned-int-string? str-or-int)
(Integer/parseInt str-or-int) (Integer/parseInt str-or-int)
:else :else

@ -15,14 +15,14 @@
(defn decode-key (defn decode-key
"Returns the first character if the string is a char. Return the number if the string is a number." "Returns the first character if the string is a char. Return the number if the string is a number."
[str] [str]
(if (ps/unsigned-int? str) (if (ps/unsigned-int-string? str)
(Integer/parseInt str) (Integer/parseInt str)
(first str))) (first str)))
(defn decode-pair (defn decode-pair
"Decode a numbers as a string and a char as a string" "Decode a numbers as a string and a char as a string"
[acc [key value]] [acc [key value]]
(if (ps/unsigned-int? key) (if (ps/unsigned-int-string? key)
(assoc acc (decode-key key) (decode-key value)) (assoc acc (decode-key key) (decode-key value))
(assoc acc (decode-key key) value))) (assoc acc (decode-key key) value)))
@ -38,7 +38,7 @@
(defn generate-table-or-decode-json (defn generate-table-or-decode-json
"It generate the table and return map with the key and the table if the argument is a key. Else it decode the json." "It generate the table and return map with the key and the table if the argument is a key. Else it decode the json."
[key-or-json symbols] [key-or-json symbols]
(if (ps/unsigned-int? key-or-json) (if (ps/unsigned-int-string? key-or-json)
(-> {"key" key-or-json} (-> {"key" key-or-json}
(assoc "table" (ss/generate-substitution-table symbols))) (assoc "table" (ss/generate-substitution-table symbols)))
(decode-key-and-substitution-table-from-json key-or-json))) (decode-key-and-substitution-table-from-json key-or-json)))

@ -3,13 +3,16 @@
[clojure.test :refer :all] [clojure.test :refer :all]
[cipher-analytical-machine.parsers.parsers :refer :all])) [cipher-analytical-machine.parsers.parsers :refer :all]))
(deftest unsigned-int?-test (deftest unsigned-int-string?-test
(testing "The function return true only for an unsingned integer as a string." (testing "The function return true only for an unsingned integer as a string."
(are [str expected] (are [str expected]
(= expected (= expected
(unsigned-int? str)) (unsigned-int-string? str))
"9" true
"9" true "9" true
"10" true "10" true
"asd 10 " false
" 10 " false
"-10" false "-10" false
"abc" false))) "abc" false)))

Loading…
Cancel
Save