>># 
>># Copyright 1990, 1991 by the Massachusetts Institute of Technology and
>># UniSoft Group Limited.
>># 
>># Permission to use, copy, modify, distribute, and sell this software and
>># its documentation for any purpose is hereby granted without fee,
>># provided that the above copyright notice appear in all copies and that
>># both that copyright notice and this permission notice appear in
>># supporting documentation, and that the names of MIT and UniSoft not be
>># used in advertising or publicity pertaining to distribution of the
>># software without specific, written prior permission.  MIT and UniSoft
>># make no representations about the suitability of this software for any
>># purpose.  It is provided "as is" without express or implied warranty.
>># 
>># $XConsortium: qrybstsz.m,v 1.7 92/06/11 16:16:54 rws Exp $
>># 
>>#      SCCS:  @(#)  EDra.mc Rel 1.5	    (10/25/91)
>>#      SCCS:  @(#)  EVal.mc Rel 1.5	    (10/10/91)
>>#
>>TITLE XQueryBestSize CH05
>>ASSERTION A XQueryBestSize-1
When the class argument is CursorShape, then a call to
XQueryBestSize returns the largest cursor height and width
that can be fully displayed on the specified screen.
>>STRATEGY
Set class to CursorShape.
Call XQueryBestSize with width 10000 and height 10000.
Verify that XQueryBestSize returns non zero.
Call XQueryBestSize with returned values of width and height.
Verify that XQueryBestSize returns non zero.
Verify that XQueryBestSize returns the previously returned values
for width and height.
Repeat with initial width and height both set to zero.
>>ASSERTION A XQueryBestSize-2
When the class argument is TileShape, then a call to
XQueryBestSize returns the height and width of tile that are
closest to the arguments height and width that can be tiled
fastest on the specified screen.
>>STRATEGY
Set class to TileShape.
Call XQueryBestSize with width 10000 and height 10000.
Verify that XQueryBestSize returns non zero.
Call XQueryBestSize with returned values of width and height.
Verify that XQueryBestSize returns non zero.
Verify that XQueryBestSize returns the previously returned values
for width and height.
Repeat with initial width and height both set to zero.
>>ASSERTION A XQueryBestSize-3
When the class argument is StippleShape, then a call to
XQueryBestSize returns the height and width of stipple that
are closest to the arguments height and width that can be
stippled fastest on the specified screen.
>>STRATEGY
Set class to StippleShape.
Call XQueryBestSize with width 10000 and height 10000.
Verify that XQueryBestSize returns non zero.
Call XQueryBestSize with returned values of width and height.
Verify that XQueryBestSize returns non zero.
Verify that XQueryBestSize returns the previously returned values
for width and height.
Repeat with initial width and height both set to zero.
>>ASSERTION A XQueryBestSize-4
When the class argument is TileShape, and the which_screen
argument specifies an InputOnly window, then a BadMatch
error occurs.
>>STRATEGY
Set class to TileShape.
Set which_screen to an InputOnly window.
Call XQueryBestSize.
Verify that XQueryBestSize returns zero.
Verify that a BadMatch error occurs.
>>ASSERTION A XQueryBestSize-5
When the class argument is StippleShape, and the
which_screen argument specifies an InputOnly window, then a
BadMatch error occurs.
>>STRATEGY
Set class to StippleShape.
Set which_screen to an InputOnly window.
Call XQueryBestSize.
Verify that XQueryBestSize returns zero.
Verify that a BadMatch error occurs.
>>ASSERTION A XQueryBestSize-6
When a drawable argument does not name a valid Drawable,
then a BadDrawable error occurs.
>>STRATEGY
Create a bad drawable by creating and destroying a window.
Call test function using bad drawable as the drawable argument.
Verify that a BadDrawable error occurs.
>>ASSERTION A XQueryBestSize-7
When the value of class is other than TileShape,
CursorShape or StippleShape, then a BadValue error occurs.
>>STRATEGY
Obtain a sequence of values which are not in the list specified by VALUE_LIST.
For each value:
  Call test function with this value in the VALUE_ARG argument.
  Verify that a BadValue error occurs.
