summaryrefslogtreecommitdiff
path: root/t/simple-enigma.t
diff options
context:
space:
mode:
Diffstat (limited to 't/simple-enigma.t')
-rw-r--r--t/simple-enigma.t23
1 files changed, 23 insertions, 0 deletions
diff --git a/t/simple-enigma.t b/t/simple-enigma.t
new file mode 100644
index 0000000..b2bcbdd
--- /dev/null
+++ b/t/simple-enigma.t
@@ -0,0 +1,23 @@
+#!perl
+use DAKKAR::p 'test';
+
+use Enigmatic::Machine;
+
+sub real_machine {
+ return Enigmatic::Machine->new({
+ reflector => 'B_thin',
+ rotors => [ 'I', 'IV', 'II', 'Beta' ],
+ plugboard => 'AT BL DF GJ HM NW OP QY RZ VX',
+ ring_settings => [ 'V', 'A', 'A', 'A' ],
+ rotor_positions => [ 'A', 'N', 'J', 'V' ],
+ });
+}
+
+my $plaintext = 'this is a simple text to be encrypted by an enigma machine'->uc;
+note "encrypt simple";
+my $ciphertext = real_machine->map_string($plaintext);note $ciphertext;
+note "decrypt simple";
+my $check = real_machine->map_string($ciphertext);note $check;
+$plaintext =~ s{\s+}{}g;
+is($check,$plaintext,
+ 'round tripped');