Invoker.t 969 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;
  4. use Test::More qw{no_plan};
  5. main();
  6. sub main {
  7. my $class = 'Fcm::CLI::Invoker';
  8. use_ok($class);
  9. test_normal($class);
  10. }
  11. ################################################################################
  12. # Tests normal usage
  13. sub test_normal {
  14. my ($class) = @_;
  15. my $prefix = "normal";
  16. my %OPTIONS = (option1 => 1, option2 => 2, option3 => 3);
  17. my @ARGUMENTS = ('argument 1', 'argument 2');
  18. my $invoker = $class->new({
  19. command => 'command',
  20. options => \%OPTIONS,
  21. arguments => \@ARGUMENTS,
  22. });
  23. isa_ok($invoker, $class, $prefix);
  24. is($invoker->get_command(), 'command', "$prefix: command");
  25. is_deeply({$invoker->get_options()}, \%OPTIONS, "$prefix: options");
  26. is_deeply([$invoker->get_arguments()], \@ARGUMENTS, "$prefix: arguments");
  27. eval {
  28. $invoker->invoke();
  29. };
  30. isa_ok($@, 'Fcm::CLI::Exception', "$prefix: invoke");
  31. }
  32. __END__