Guest User

Untitled

a guest
Jul 22nd, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.61 KB | None | 0 0
  1. use common::sense;
  2.  
  3. sub same_bool1 {
  4. my ($a, $b) = @_;
  5. !!$a eq !!$b
  6. }
  7. sub same_bool2 {
  8. my ($a, $b) = @_;
  9. $a ? $b : !$b
  10. }
  11.  
  12.  
  13.  
  14. use Test::More;
  15. use Data::Dumper;
  16.  
  17. sub uneval {
  18. local $Data::Dumper::Terse = 1;
  19. $_ = Dumper(@_);
  20. s/\A\s+//;
  21. s/\s+\Z//;
  22. $_;
  23. }
  24.  
  25. for my $subname (qw/same_bool1 same_bool2/) {
  26. my $sub = $::{$subname};
  27. for my $t (
  28. [1, 2],
  29. [3, "s"],
  30. ["a", "b"],
  31. ['', ''],
  32. ['', 0],
  33. [-1, 1],
  34. [-1, 2],
  35. ) {
  36. ok $sub->($t->[0], $t->[1]), "$subname(" . uneval($t->[0]) . ", " . uneval($t->[1]) . ")"
  37. }
  38. }
  39.  
  40. done_testing;
Add Comment
Please, Sign In to add comment