(ns cipher-analytical-machine.symbol-factories-test (:require [clojure.test :refer :all] [cipher-analytical-machine.symbol_factories :refer :all] )) (deftest lower-english-alphabet-factory-test (let [symbols (lower-english-alphabet-factory)] (testing "It must have 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 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)] (testing "It must have 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 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 same order" (is (= "0123456789" symbols))) (testing "It must have 10 digits" (is (= 10 (count symbols))))))