The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
#!/usr/bin/perl -w
#
# Copyright (C) 2003 Tels
# Copyright (C) 2004 David J. Goehrig
#
# Copyright (C) 2005 David J. Goehrig <dgoehrig\@cpan.org>
#
# ------------------------------------------------------------------------------
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# 
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# Lesser General Public License for more details.
# 
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
#
# ------------------------------------------------------------------------------
#
# Please feel free to send questions, suggestions or improvements to:
#
#	David J. Goehrig
#	dgoehrig\@cpan.org
#
#
# basic testing of SDL::Rect

BEGIN {
	unshift @INC, 'blib/lib','blib/arch';
}

use strict;

use Test::More;

plan ( tests => 35 );

use_ok( 'SDL::Rect' ); 
  
can_ok ('SDL::Rect', qw/
	new
	x 
	y 
	width 
	height
	w
	h
	top
	left
	 /);

my $rect = SDL::Rect->new();

# creating with defaults
is (ref($rect),'SDL::Rect','new went ok');
is ($rect->x(), 0, 'x is 0');
is ($rect->y(), 0, 'y is 0');
is ($rect->top(), 0, 'top is 0');
is ($rect->left(), 0, 'left is 0');
is ($rect->width(), 0, 'width is 0');
is ($rect->height(), 0, 'height is 0');
is ($rect->w(), 0, 'w is 0');
is ($rect->h(), 0, 'h is 0');

# set and get at the same time (and testing method aliases)
is ($rect->left(15), 15, 'left is now 15');
is ($rect->x, 15, 'x and left point to the same place');
is ($rect->x(12), 12, 'x is now 12');
is ($rect->left, 12, 'left is an alias to x');

is ($rect->top(132), 132, 'top is now 132');
is ($rect->y, 132, 'y and top point to the same place');
is ($rect->y(123), 123, 'y is now 123');
is ($rect->top, 123, 'top is an alias to y');

is ($rect->w(54), 54, 'w is now 54');
is ($rect->width, 54, 'w and width point to the same place');
is ($rect->width(45), 45, 'w is now 45');
is ($rect->w, 45, 'w is an alias to width');

is ($rect->h(76), 76, 'h is now 76');
is ($rect->height, 76, 'h and height point to the same place');
is ($rect->height(67), 67, 'h is now 67');
is ($rect->h, 67, 'h is an alias to height');

# get alone
is ($rect->x(), 12, 'x is 12');
is ($rect->left(), 12, 'left is 12');
is ($rect->y(), 123, 'y is 123');
is ($rect->top(), 123, 'top is 123');
is ($rect->width(), 45, 'width is 45');
is ($rect->w(), 45, 'w is 45');
is ($rect->height(), 67, 'height is 67');
is ($rect->h(), 67, 'h is 67');