This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
(ns cipher-analytical-machine.parsers.parsers-test
|
||||
(:require
|
||||
[clojure.test :refer :all]
|
||||
[cipher-analytical-machine.parsers.parsers :refer :all]))
|
||||
|
||||
(deftest unsigned-int?-test
|
||||
(testing ""
|
||||
(are [str expected]
|
||||
(= expected
|
||||
(unsigned-int? str))
|
||||
"9" true
|
||||
"10" true
|
||||
"-10" false
|
||||
"abc" false)))
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
(ns cipher-analytical-machine.parsers.simple-substitution-test
|
||||
(:require
|
||||
[clojure.test :refer :all]
|
||||
[cipher-analytical-machine.parsers.simple-substitution :refer :all]))
|
||||
|
||||
(deftest encode-key-and-substitution-table-to-json-test
|
||||
(testing "The encoder must parse the map and create a json."
|
||||
(are [key table expected-json]
|
||||
(= expected-json
|
||||
(encode-key-and-substitution-table-to-json key table))
|
||||
1 {0 \a 1 \b 2 \c} "{\"key\":1,\"table\":{\"0\":\"a\",\"1\":\"b\",\"2\":\"c\"}}"
|
||||
2 {\a 0 \b 1 \c 2} "{\"key\":2,\"table\":{\"a\":0,\"b\":1,\"c\":2}}")))
|
||||
|
||||
(deftest decode-key-and-substitution-table-from-json-test
|
||||
(testing "The decoder must parse the json and create a map."
|
||||
(are [json expected-data]
|
||||
(= expected-data
|
||||
(decode-key-and-substitution-table-from-json json))
|
||||
"{\"key\":1, \"table\":{\"0\":\"a\",\"1\":\"b\",\"2\":\"c\"}}" {"key" 1 "table" {0 \a 1 \b 2 \c}}
|
||||
"{\"key\":2, \"table\":{\"a\":0,\"b\":1,\"c\":2}}" {"key" 2 "table" {\a 0 \b 1 \c 2}})))
|
||||
|
||||
(deftest generate-table-or-decode-json-test
|
||||
(let [symbols "abc"]
|
||||
(testing "The function decodes the json."
|
||||
(are [json expected-data]
|
||||
(= expected-data
|
||||
(generate-table-or-decode-json json symbols))
|
||||
"{\"key\":1, \"table\":{\"0\":\"a\",\"1\":\"b\",\"2\":\"c\"}}" {"key" 1 "table" {0 \a 1 \b 2 \c}}
|
||||
"{\"key\":2, \"table\":{\"a\":0,\"b\":1,\"c\":2}}" {"key" 2 "table" {\a 0 \b 1 \c 2}}))
|
||||
|
||||
(testing "The function generates the table, because the argument is a key."
|
||||
(are [json expected-data]
|
||||
(let [data (generate-table-or-decode-json json symbols)]
|
||||
(and (= (get expected-data "key")
|
||||
(get data "key"))
|
||||
(= (keys (get expected-data "table"))
|
||||
(keys (get data "table"))))
|
||||
(generate-table-or-decode-json json symbols))
|
||||
"1" {"key" 1 "table" {0 \a 1 \b 2 \c}}
|
||||
"2" {"key" 2 "table" {\a 0 \b 1 \c 2}}))))
|
||||
|
||||
Reference in New Issue
Block a user