Sha256: bf11ef5c3465bb9dff1b2712f7668f71e4a9374d55538bb1a939bd7bb1553cbe
Contents?: true
Size: 1.1 KB
Versions: 1
Compression:
Stored size: 1.1 KB
Contents
#! /usr/bin/env ruby require 'test/unit.rb' require 'test/unit/ui/console/testrunner' require 'solitaire_cypher.rb' class SolitaireCypherTest < Test::Unit::TestCase KNOWN_PLAINTEXT = 'CODEI NRUBY LIVEL ONGER' KNOWN_CYPHER = 'GLNCQ MJAFF FVOMB JIYCB' def setup @deck = Deck.new.key @crypt_keeper = CryptKeeper.new(@deck) end def test_value_to_chr assert_equal('A', Card.value_to_chr(1)) assert_equal('Z', Card.value_to_chr(26)) end def test_chr_to_value assert_equal(1, Card.chr_to_value("A")) assert_equal(26, Card.chr_to_value("Z")) end def test_keystream expected = %w(D W J X H Y R F D G) deck = Deck.new.key expected.each { | exp | key = deck.next_keystream if exp != Card.value_to_chr(key) @errors << "expected #{exp}, key = #{Card.value_to_chr(key)}" end } end def test_decrypt_known_cypher assert_equal(KNOWN_PLAINTEXT, @crypt_keeper.decrypt(KNOWN_CYPHER)) end def test_encrypt_known_message assert_equal(KNOWN_CYPHER, @crypt_keeper.encrypt(KNOWN_PLAINTEXT)) end end Test::Unit::UI::Console::TestRunner.run(SolitaireCypherTest)
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rubyzip-0.9.1 | lib/quiz1/t/solutions/Jim Menard/test.rb |