use strict;
use warnings;
use Test::More;
eval 'use Crypt::Skip32::XS';
if ( $@ ) {
plan skip_all => 'Crypt::Skip32::XS is not installed';
} else {
plan tests => 5;
my $cipher = new Crypt::Skip32::XS pack("H20", "00998877665544332211");
isa_ok($cipher, 'Crypt::Skip32::XS');
is($cipher->blocksize, 4, "blocksize is 4");
is($cipher->keysize, 10, "keysize is 10");
my $plain_number = 0x33221100;
my $plain_text_1 = pack('N', $plain_number);
my $cipher_text = $cipher->encrypt($plain_text_1);
my $plain_text_2 = $cipher->decrypt($cipher_text);
my $cipher_number = unpack('N', $cipher_text);
is($cipher_number, 0x819D5F1F,
"Skip32 encrypt $plain_number -> $cipher_number");
is($plain_text_1, $plain_text_2,
"Skip32 decrypt $cipher_number -> $plain_number");
}