def result_page(): """Returns result page with encoded or decoded message""" keyword = request.form['keyword'] choice = request.form['choice'] message = request.form['message'] cipher = VigenereCipher(keyword) if choice == 'encode': result = cipher.encode(message) else: result = cipher.decode(message) if result is None: return render_template('exception.html') return render_template('result.html', result=result)
def test_encode(): cipher = VigenereCipher('TRAIN') encoded = cipher.encode('ENCODEDINPYTHON') assert encoded == 'XECWQXUIVCRKHWA'
def cipher(): return VigenereCipher("TRAIN")
def test_decode(self): cipher = VigenereCipher("TRAIN") decoded = cipher.decode("XECWQXUIVCRKHWA") self.assertTrue("ENCODEDINPYTHON" == decoded)
def test_encode_lowercase(self): cipher = VigenereCipher("TRain") encoded = cipher.encode("encoded in Python") self.assertTrue(encoded == "XECWQXUIVCRKHWA")
def test_encode_character(self): cipher = VigenereCipher("TRAIN") encoded = cipher.encode("E") self.assertTrue(encoded == "X")
def test_encode(self): cipher = VigenereCipher("TRAIN") encoded = cipher.encode("ENCODEDINPYTHON") self.assertEqual(encoded, "XECWQXUIVCRKHWA")
def test_encode_character(): cipher = VigenereCipher('TRAIN') encoded = cipher.encode('E') assert encoded == 'X'
def test_encode_lowercase(valid_cipher): cipher = VigenereCipher("TRain") assert cipher.encode("encoded in Python") == "XECWQXUIVCRKHWA"
def test_encode(): chip = VigenereCipher("TRAIN") encoded = chip.encode("ENCODED IN PYTHON") assert "XECWQXUIVCRKHWA" == encoded
def test_extend_keyword(): vigenere = VigenereCipher("TRAIN") extended = vigenere.extend_keyword(16) assert "TRAINTRAINTRAINT" == extended
def test_encode_lowercase(): chip = VigenereCipher("TRAIN") encoded = chip.encode("encoded in python") assert "XECWQXUIVCRKHWA" == encoded
def test_encode_character(): chip = VigenereCipher("TRAIN") encoded = chip.encode("E") assert "X" == encoded
from unittest import TestCase from vigenere_cipher import VigenereCipher ex = VigenereCipher('csucu') class TestVigenereCipher(TestCase): def test_vigenere_cipher(self): self.assertEquals('A', ex.combine_character('h', 'a'), "fail") self.assertEquals('E', ex.combine_character('P', 'p'), "fail") self.assertEquals('Z', ex.combine_character('Y', 'B'), "fail") self.assertEquals(None, ex.combine_character('-', 'd'), "fail") self.assertEquals('C', ex.separate_character('a', 'y'), "fail") self.assertEquals(None, ex.separate_character(',', 'O'), "fail") self.assertEquals('H', ex.separate_character('L', 'e'), "fail") self.assertEquals(None, ex.separate_character('s', '!'), "fail") self.assertEquals('CSUCUCSUCU', ex.extend_keyword(10), "fail") self.assertEquals('', ex.extend_keyword(0), "fail") self.assertEquals('SSXYOLQGLIYBNMRGKALOTMXQORG', ex.decode('ukrainiancatholicuniversity'), "fail") self.assertEquals('WCLCCPAUPWCLBQFKUOPCXWLUCVQ', ex.encode('ukrainiancatholicuniversity'), "fail") self.assertEquals('', ex.encode(''), "fail") self.assertEquals('', ex.decode(''), "fail")
def test_extend_keyword(): cipher = VigenereCipher('TRAIN') extended = cipher.extend_keyword(16) assert extended == 'TRAINTRAINTRAINT'
def test_decode(): cipher = VigenereCipher('TRAIN') decode = cipher.decode('XECWQXUIVCRKHWA') assert decode == 'ENCODEDINPYTHON'
def pytest_funcarg__valid_cipher(request): return VigenereCipher("TRAIN")
def test_encode_character(): cipher = VigenereCipher("TRAIN") encoded = cipher.encode("E") assert encoded == "X"
def test_encode_lowercase(): cipher = VigenereCipher("TRain") encoded = cipher.encode("encoded in Python") assert encoded == "XECWQXUIVCRKHWA"
def test_encode_2(self): cipher = VigenereCipher("LeaRNinG") encoded = cipher.encode("LeaRNINGpyThON") assert encoded == "WIAIAQAMACTYBV"
def test_extend_keyword(): cipher = VigenereCipher("TRAIN") extended = cipher.extend_keyword(16) assert extended == "TRAINTRAINTRAINT"
def test_encode_spaces(self): cipher = VigenereCipher("TRAIN") encoded = cipher.encode("ENCODED IN PYTHON") self.assertTrue(encoded == "XECWQXUIVCRKHWA")
def test_decode(): cipher = VigenereCipher("TRAIN") decoded = cipher.decode("XECWQXUIVCRKHWA") assert decoded == "ENCODEDINPYTHON"
def test_extend_keyword(self): cipher = VigenereCipher("TRAIN") extended = cipher.extend_keyword(16) self.assertTrue(extended == "TRAINTRAINTRAINT")
def test_encode_lowercase(): cipher = VigenereCipher('TRain') encoded = cipher.encode('encoded in Python') assert encoded == 'XECWQXUIVCRKHWA'
def test_encode_1(self): cipher = VigenereCipher("TRAIN") encoded = cipher.encode("ENCODEDINPYTHON") assert encoded == "XECWQXUIVCRKHWA"
text = ''.join([char for char in text.lower() if char in 'abcdefghijklmnopqrstuvwxyz']) def build_freq(text): freq = {char: 0 for char in 'abcdefghijklmnopqrstuvwxyz'} for char in text: if char in freq: freq[char] += 1 return freq def plot(text, max_freq_plaintext, label, marker): freq = build_freq(text) rel_freq = {char: freq[char]/max_freq_plaintext for char in freq} plt.plot(sorted(rel_freq.values(), reverse=True), label=label, marker=marker) ccipher = CaeserCipher() vcipher = VigenereCipher("cryptography") pcipher = PlayfairCipher("cryptography") dcipher = DES() max_freq_plaintext = max(build_freq(text).values()) plot(text, max_freq_plaintext, 'Plaintext', '>') plot(ccipher.encrypt(text), max_freq_plaintext, 'Caeser Cipher', '<') plot(vcipher.encrypt(text), max_freq_plaintext, 'Vigenere Cipher', '+') plot(pcipher.encrypt(text), max_freq_plaintext, 'Playfair Cipher', 'x') plot(dcipher.encrypt("monarchy", text), max_freq_plaintext, 'DES', 'o') plt.xlabel('Frequency ranked letters') plt.ylabel('Relative frequency') plt.title("Simmon's Experiment") plt.legend() plt.show()