File: qpolygonf.t

package info (click to toggle)
qt4-perl 4.8.4-1
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 8,464 kB
  • sloc: perl: 42,937; cpp: 28,039; makefile: 153; xml: 98; sh: 4
file content (97 lines) | stat: -rw-r--r-- 3,394 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#!/usr/bin/perl

use strict;
use warnings;

use QtCore4;
use QtGui4;
use QtCore4::debug qw(ambiguous);

use Test::More tests => 32;

my $polygon = Qt::PolygonF( [
    Qt::PointF(5,7),
    Qt::PointF(0,1),
    Qt::PointF(1,1),
    Qt::PointF(1,0)
] );

ok( exists $polygon->[0], 'Qt::PolygonF::EXISTS' );
ok( !exists $polygon->[4], 'Qt::PolygonF::EXISTS' );
ok( $polygon->[0] == Qt::PointF(5,7), 'Qt::PolygonF::FETCH' );
is( scalar @{$polygon}, 4, 'Qt::PolygonF::FETCHSIZE' );

$polygon->[6] = Qt::PointF(2,0);
ok( exists $polygon->[6], 'Qt::PolygonF::EXISTS' );
ok( $polygon->[6] == Qt::PointF(2,0), 'Qt::PolygonF::FETCH' );
ok( $polygon->[-1] == Qt::PointF(2,0), 'Qt::PolygonF::FETCH' );
is( scalar @{$polygon}, 7, 'Qt::PolygonF::FETCHSIZE' );

$#{$polygon} = 9;
is( scalar @{$polygon}, 10, 'Qt::PolygonF::STORESIZE' );
$#{$polygon} = 2;
is( $#{$polygon}, 2, 'Qt::PolygonF::STORESIZE' );

ok( delete( $polygon->[1] ) == Qt::PointF(0,1), 'Qt::PolygonF::DELETE' );
is( $polygon->[1]->y, 0, 'Qt::PolygonF::DELETE' );

is( push( @{$polygon}, Qt::PointF(50,50), Qt::PointF(60,60), Qt::PointF(70,70) ),
    6,
    'Qt::PolygonF::PUSH' );
ok( $polygon->[3] == Qt::PointF(50,50), 'Qt::PolygonF::PUSH' );
ok( $polygon->[4] == Qt::PointF(60,60), 'Qt::PolygonF::PUSH' );
ok( $polygon->[5] == Qt::PointF(70,70), 'Qt::PolygonF::PUSH' );

ok( pop( @{$polygon} ) == Qt::PointF(70,70), 'Qt::PolygonF::POP' );
is( scalar @{$polygon}, 5, 'Qt::PolygonF::POP' );

ok( shift( @{$polygon} ) == Qt::PointF(5,7), 'Qt::PolygonF::SHIFT' );
is( scalar @{$polygon}, 4, 'Qt::PolygonF::SHIFT' );

is( unshift( @{$polygon}, Qt::PointF(50,50), Qt::PointF(60,60), Qt::PointF(70,70) ),
    7,
    'Qt::PolygonF::UNSHIFT' );
ok( $polygon->[0] == Qt::PointF(50,50), 'Qt::PolygonF::UNSHIFT' );
ok( $polygon->[1] == Qt::PointF(60,60), 'Qt::PolygonF::UNSHIFT' );
ok( $polygon->[2] == Qt::PointF(70,70), 'Qt::PolygonF::UNSHIFT' );

@{$polygon} = ();
my @points = (
    [0,0],
    [1,1],
    [2,2],
    [3,3],
    [4,4],
    [5,5],
    [6,6]
);

map { push @{$polygon}, Qt::PointF( $_->[0], $_->[1] ) } @points;
my @gotPoints = splice @{$polygon};
is_deeply( [map{ [$_->x, $_->y] } @gotPoints], \@points, 'Qt::PolygonF::SPLICE all' );

map { push @{$polygon}, Qt::PointF( $_->[0], $_->[1] ) } @points;
@gotPoints = splice @{$polygon}, 3;
is_deeply( [map{ [$_->x, $_->y] } @gotPoints], [@points[3..6]], 'Qt::PolygonF::SPLICE half' );

@{$polygon} = ();
is( scalar @{$polygon}, 0, 'Qt::PolygonF::CLEAR' );

map { push @{$polygon}, Qt::PointF( $_->[0], $_->[1] ) } @points;
@gotPoints = splice @{$polygon}, 10;
is( scalar @gotPoints, 0, 'Qt::PolygonF::SPLICE off end' );

@gotPoints = splice @{$polygon}, 3, 1;
is_deeply( [map{ [$_->x, $_->y] } @gotPoints], [$points[3]], 'Qt::PolygonF::SPLICE half' );
is_deeply( [map{ [$_->x, $_->y] } @{$polygon}], [@points[0..2],@points[4..6]], 'Qt::PolygonF::SPLICE half' );

@{$polygon} = ();
map { push @{$polygon}, Qt::PointF( $_->[0], $_->[1] ) } @points;
@gotPoints = splice @{$polygon}, 3, 1, Qt::PointF(7,7), Qt::PointF(8,8), Qt::PointF(9,9);
is_deeply( [map{ [$_->x, $_->y] } @{$polygon}], [@points[0..2],([7,7],[8,8],[9,9]),@points[4..6]], 'Qt::PolygonF::SPLICE replace' );

@{$polygon} = ();
map { push @{$polygon}, Qt::PointF( $_->[0], $_->[1] ) } @points;
my $poly2 = Qt::PolygonF([map { Qt::PointF( $_->[0], $_->[1] ) } @points]);

ok( $polygon == $poly2, 'Qt::PolygonF::operator==' );