/trunk/Examples/test-suite/perl5/operator_overload_break_runme.pl
Perl | 55 lines | 32 code | 19 blank | 4 comment | 8 complexity | eb51c76bac09fe4fb29c6fed00617677 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- #!/usr/bin/perl -w
- use strict;
- use Test::More tests => 9;
- use operator_overload_break;
- # Workaround for
- # ok( not (expression) , "test description" );
- # does not working in older versions of Perl, eg 5.004_04
- sub ok_not ($;$) {
- my($test, $name) = @_;
- $test = not $test;
- ok($test, $name);
- }
- pass("loaded");
- my $op = operator_overload_break::Op->new(5);
- isa_ok($op, "operator_overload_break::Op");
- ok((2 == $op - 3),
- "subtraction");
- $op->{k} = 37;
- ok((40 == $op + 3),
- "addition");
- $op->{k} = 22;
- ok((10 == (32 - $op)),
- "reversed subtraction");
- ok_not((3 == $op),
- 'not equal');
- $op->{k} = 3;
- ++$op;
- ok(($op == 4),
- "pre-increment operator");
- $op++;
- ok(($op == 5),
- "post-increment operator");
- my $op2 = ++$op;
- $op2 = $op++;
- ok(($op == 7) and ($op2 == 7),
- "multiple post-increments");