'--------------------------------------------------------------------
' Test case of Object Class
'--------------------------------------------------------------------

Namespace ObjectTest

Sub TestMain()
	Dim obj1 As Object
	Dim obj2 As Object

	UnitTest( "Object.Equals(case 1)", obj1.Equals( obj1 ) )
	UnitTest( "Object.Equals(case 2)", obj1.Equals( obj2 ) = False )

	UnitTest( "Object.ReferenceEquals(case 1)", Object.ReferenceEquals( obj1, obj2 ) = False )
	Dim obj3 = obj1
	UnitTest( "Object.ReferenceEquals(case 2)", Object.ReferenceEquals( obj1, obj3 ) )

	UnitTest( "Object.GetHashCode", obj1.GetHashCode() = ObjPtr( obj1 ) )

	UnitTest( "Object.ToString", obj1.ToString() = "Object" )

	UnitTest( "Object.GetType", obj1.GetType().Name = "Object" )
End Sub

End Namespace

ObjectTest.TestMain()
