summaryrefslogtreecommitdiff
path: root/t/rotors.t
diff options
context:
space:
mode:
Diffstat (limited to 't/rotors.t')
-rw-r--r--t/rotors.t31
1 files changed, 11 insertions, 20 deletions
diff --git a/t/rotors.t b/t/rotors.t
index 4676a55..27b6eba 100644
--- a/t/rotors.t
+++ b/t/rotors.t
@@ -19,26 +19,6 @@ subtest 'scramble rotor' => sub {
Test::Enigmatic::test_static_map($r,\@out,'shuffle');
};
-subtest 'identity rotor, non-default ring setting' => sub {
- my @out = (('B'..'Z'),'A');
-
- my $r = Enigmatic::Rotor->new(
- wiring => ['A'..'Z']->join,
- ring_setting => 1,
- );
- Test::Enigmatic::test_static_map($r,\@out,'ring=1');
-};
-
-subtest 'identity rotor, moved ring setting' => sub {
- my @out = (('B'..'Z'),'A');
-
- my $r = Enigmatic::Rotor->new(
- wiring => ['A'..'Z']->join,
- );
- $r->ring_setting(1);
- Test::Enigmatic::test_static_map($r,\@out,'ring moved to 1');
-};
-
subtest 'constraints' => sub {
my @bad_params = (
'ABCD',
@@ -107,4 +87,15 @@ subtest 'rotor box' => sub {
});
};
+subtest 'ring-setting on real rotor' => sub {
+ my $r = Enigmatic::RotorBox->new->get('I');
+ $r->ring_setting(1);
+
+ my $out = 'EKMFLGDQVZNTOWYHXUSPAIBRCJ'->split(qr//);
+ $out->unshift($out->pop);
+ $out->each_value(sub{$_[0] =~ tr[A-Z][B-ZA]});
+
+ Test::Enigmatic::test_static_map($r,$out,'ring I moved to 1');
+};
+
done_testing();