diff --git a/src/cipher_analytical_machine/symbol_factories.clj b/src/cipher_analytical_machine/symbol_factories.clj index 8c92a3c..65ac2f5 100644 --- a/src/cipher_analytical_machine/symbol_factories.clj +++ b/src/cipher_analytical_machine/symbol_factories.clj @@ -2,7 +2,7 @@ (:require [clojure.string :as cs]) (:gen-class)) -(defn lower-english-alphabet-factory +(defn english-alphabet-factory "Return the English alphabet with only lowercase letters" [] (reduce @@ -10,23 +10,11 @@ "" (range (int \a) (inc (int \z))))) -(defn english-alphabet-factory - "Return the English alphabet with lower and upper case letters" - [] - (let [letters (lower-english-alphabet-factory)] - (str letters (cs/upper-case letters)))) - -(defn lower-ukrainian-alphabet-factory +(defn ukrainian-alphabet-factory "Return the Ukrainian alphabet with only lowercase letters" [] "абвгґдеєжзиіїйклмнопрстуфхцчшщьюя") -(defn ukrainian-alphabet-factory - "Return the Ukrainian alphabet with lower and upper case letters" - [] - (let [letters (lower-ukrainian-alphabet-factory)] - (str letters (cs/upper-case letters)))) - (defn digit-set-factory "Return digits" [] @@ -48,14 +36,10 @@ (cond (= language-code "en") (str (english-alphabet-factory) - (punctuation-symbol-factory) - (digit-set-factory) \ ) (= language-code "uk") (str (ukrainian-alphabet-factory) - (punctuation-symbol-factory) - (digit-set-factory) \ ) :else diff --git a/test/cipher_analytical_machine/symbol_factories_test.clj b/test/cipher_analytical_machine/symbol_factories_test.clj index b1ebc92..b00d054 100644 --- a/test/cipher_analytical_machine/symbol_factories_test.clj +++ b/test/cipher_analytical_machine/symbol_factories_test.clj @@ -4,38 +4,22 @@ [cipher-analytical-machine.symbol-factories :refer :all] )) -(deftest lower-english-alphabet-factory-test - (let [symbols (lower-english-alphabet-factory)] +(deftest english-alphabet-factory-test + (let [symbols (english-alphabet-factory)] (testing "It must have the same order." (is (= "abcdefghijklmnopqrstuvwxyz" symbols))) (testing "It must have 26 letters." (is (= 26 (count symbols)))))) -(deftest english-alphabet-factory-test - (let [symbols (english-alphabet-factory)] - (testing "It must have the same order." - (is (= "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" symbols))) - - (testing "It must have 2*26 letters." - (is (= (* 2 26) (count symbols)))))) - -(deftest lower-ukrainian-alphabet-factory-test - (let [symbols (lower-ukrainian-alphabet-factory)] +(deftest ukrainian-alphabet-factory-test + (let [symbols (ukrainian-alphabet-factory)] (testing "It must have the same order." (is (= "абвгґдеєжзиіїйклмнопрстуфхцчшщьюя" symbols))) (testing "It must have 33 letters." (is (= 33 (count symbols)))))) -(deftest ukrainian-alphabet-factory-test - (let [symbols (ukrainian-alphabet-factory)] - (testing "It must have the same order." - (is (= "абвгґдеєжзиіїйклмнопрстуфхцчшщьюяАБВГҐДЕЄЖЗИІЇЙКЛМНОПРСТУФХЦЧШЩЬЮЯ" symbols))) - - (testing "It must have 2*33 letters." - (is (= (* 2 33) (count symbols)))))) - (deftest digit-set-factory-test (let [symbols (digit-set-factory)] (testing "It must have the same order." @@ -61,15 +45,15 @@ (is (= 3 (count symbols)))))) (deftest default-symbol-factory-test - (testing "If language code is 'en', then it must have symbols." + (testing "If language code is 'en', then it must have 27 symbols." (let [symbols (default-symbol-factory "en")] - (is (= 70 (count symbols))))) + (is (= 27 (count symbols))))) - (testing "If language code is 'uk', then it must have symbols." + (testing "If language code is 'uk', then it must have 34 symbols." (let [symbols (default-symbol-factory "uk")] - (is (= 84 (count symbols))))) + (is (= 34 (count symbols))))) (testing "If language code is unidentified, then it must have the 'en'." (let [symbols (default-symbol-factory "Maybe a code")] - (is (= 70 (count symbols)))))) + (is (= 27 (count symbols))))))