static void
test_value (AccessibleValue *value)
{
	float original_value;
	
	fprintf (stderr, "Testing value ...\n");

	original_value = AccessibleValue_getCurrentValue (value);
	
	g_assert (AccessibleValue_getCurrentValue (value) <=
		  AccessibleValue_getMaximumValue (value));

	g_assert (AccessibleValue_getCurrentValue (value) >=
		  AccessibleValue_getMinimumValue (value));

	AccessibleValue_setCurrentValue (value, 
		  AccessibleValue_getMinimumValue (value));
	
	g_assert (AccessibleValue_getCurrentValue (value) ==
		  AccessibleValue_getMinimumValue (value));

	AccessibleValue_setCurrentValue (value, 
		  AccessibleValue_getMaximumValue (value));
	
	g_assert (AccessibleValue_getCurrentValue (value) ==
		  AccessibleValue_getMaximumValue (value));

	AccessibleValue_setCurrentValue (value, original_value);
	
	g_assert (AccessibleValue_getCurrentValue (value) == original_value);
}
char * windows_text ( SQByteArray * _pointer )
{
   char * text = NULL;
   Accessible * accessibleObject = windows_to_accessible(_pointer);
   if ( Accessible_isText(accessibleObject) == SPI_TRUE )
   {
       AccessibleText * textObj = Accessible_getText(accessibleObject);
       long count = AccessibleText_getCharacterCount ( textObj );
       text = AccessibleText_getText ( textObj, 0, count );
       AccessibleText_unref ( textObj );
       return windows_string(text);
   }
   else if ( Accessible_isValue(accessibleObject) == SPI_TRUE )
   {
       AccessibleValue * valueObj = Accessible_getValue(accessibleObject);

       double current = AccessibleValue_getCurrentValue ( valueObj );
       text = malloc(SQ_MAX_VALUE_LENGTH);
       SNPRINTF_FUNCTION ( text, SQ_MAX_VALUE_LENGTH, "%f", current );
       return text;
   }
   return SQ_STRDUP_FUNCTION("");
}