>># 
>># 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: intrnatm.m,v 1.7 92/06/11 16:13:25 rws Exp $
>># 
>>#      SCCS:  @(#)  EAll.mc Rel 1.5	    (3/12/92)
>>#      SCCS:  @(#)  EVal.mc Rel 1.5	    (10/10/91)
>>#
>>TITLE XInternAtom CH04
>>ASSERTION A XInternAtom-1
A call to XInternAtom returns the atom identifier
associated with the specified atom_name.
>>STRATEGY
Call XInternAtom to obtain the atom representation associated with "RECTANGLE".
Verify that the atom returned was as expected.
>>ASSERTION A XInternAtom-2
When XInternAtom is called with only_if_exists set to True
and the specified atom_name is not associated with an atom,
then None is returned.
>>STRATEGY
Call XInternAtom with an atom_name not associated with an atom,
	with only_if_exists True.
Verify that None was returned.
>>ASSERTION A XInternAtom-3
When XInternAtom is called with only_if_exists set to False
and the specified atom_name is not associated with an atom,
then an atom is created and its atom identifer is returned.
>>STRATEGY
Call XInternAtom to ensure that atom_name is not associated with an atom.
Call XInternAtom with an atom_name not associated with an atom,
	with only_if_exists False.
Verify that None was not returned.
Verify that the returned atom id corresponds to atom_name.
>>ASSERTION A XInternAtom-4
On a call to XInternAtom, the case of the atom_name string
is significant for designating or identifying atoms.
>>STRATEGY
Call XInternAtom to ensure that atom XIA_ATOM_NAME_3a does not exist.
Call XInternAtom to create an atom XIA_ATOM_NAME_3a.
Call XInternAtom to create an atom XIA_ATOM_NAME_3b.
Verify the atom identifiers are distinct.
Call XInternAtom to obtain the atom id associated with XIA_ATOM_NAME_3c.
Verify the atom identifier is None.
>>ASSERTION A XInternAtom-5
Atoms created by a call to XInternAtom will remain defined
after the client's connection closes.
>>STRATEGY
Create a new client.
Call XInternAtom to ensure that XIA_ATOM_NAME_4 is not associated with an atom.
Call XInternAtom to create atom XIA_ATOM_NAME_4 on display2.
Close display2.
Allow sufficient time for the server to register the close display
Verify that atom XIA_ATOM_NAME_4 remains defined.
>>ASSERTION A XInternAtom-6
When the last connection to the server closes, then atoms
created by a call to XInternAtom will become undefined.
>>STRATEGY
Ensure we can open a new display.
Create an atom by calling XInternAtom.
Close the last connection to the server.
Allow sufficient time for the server to register the close display
Open a new connection to the server.
Verify that the atom is undefined.
>>ASSERTION B XInternAtom-7
When the server fails to allocate a required resource, then
a BadAlloc error occurs.
>>STRATEGY
Report UNTESTED
>>ASSERTION A XInternAtom-8
When the value of only_if_exists is other than True or
False, 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.
