diff options
Diffstat (limited to 't/rotors.t')
-rw-r--r-- | t/rotors.t | 31 |
1 files changed, 11 insertions, 20 deletions
@@ -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(); |