/* 
 * 
 * Confidential Information of Telekinesys Research Limited (t/a Havok).  Not for disclosure or distribution without Havok's
 * prior written consent.This software contains code, techniques and know-how which is confidential and proprietary to Havok.
 * Level 2 and Level 3 source code contains trade secrets of Havok. Havok Software (C) Copyright 1999-2007 Telekinesys Research Limited t/a Havok. All Rights Reserved. Use of this software is subject to the terms of an end user license agreement.
 * 
 */
#include <Common/Serialize/hkSerialize.h>

#include <Common/Base/UnitTest/hkUnitTest.h>
#include <Common/Serialize/UnitTest/Nullname/NullName.h>

#include <Common/Base/Reflection/hkClass.h>
#include <Common/Base/System/Io/IStream/hkIStream.h>

#include <Common/Serialize/Packfile/Xml/hkXmlPackfileWriter.h>
#include <Common/Serialize/Packfile/Xml/hkXmlPackfileReader.h>

#include <Physics/Dynamics/Entity/hkpRigidBody.h>
#include <Physics/Collide/Shape/Convex/Box/hkpBoxShape.h>
#include <Physics/Dynamics/World/hkpPhysicsSystem.h>

#include <Common/Serialize/UnitTest/serializeUtilities.h>


extern const hkClass hkNullNameClass;

static hkResult compareNullName(const hkNullName& objA, const hkNullName& objB)
{
	hkBool res = ( (hkString::strCmp(objA.m_c1, objB.m_c1)==0) && 
				 (hkString::strCmp(objA.m_c2, objB.m_c2)==0) && 
				 ( objA.m_c3 == objB.m_c3 ) 
				 );

	return (res)? HK_SUCCESS : HK_FAILURE;
}

int NullNameTest()
{
	hkNullName* nullname = new hkNullName();
	
	serializeTest<hkXmlPackfileReader, hkXmlPackfileWriter, hkNullName>(*nullname, hkNullNameClass, &compareNullName);
	
	delete nullname;
	return 0;
}
HK_TEST_REGISTER(NullNameTest, "Fast", "Common/Test/UnitTest/Serialize/", __FILE__     );

/*
* Havok SDK - PUBLIC RELEASE, BUILD(#20070919)
*
* Confidential Information of Havok.  (C) Copyright 1999-2007 
* Telekinesys Research Limited t/a Havok. All Rights Reserved. The Havok
* Logo, and the Havok buzzsaw logo are trademarks of Havok.  Title, ownership
* rights, and intellectual property rights in the Havok software remain in
* Havok and/or its suppliers.
*
* Use of this software for evaluation purposes is subject to and indicates 
* acceptance of the End User licence Agreement for this product. A copy of 
* the license is included with this software and is also available from salesteam@havok.com.
*
*/
