library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.NUMERIC_STD.ALL;

entity strings_test is
end strings_test;

architecture rtl of strings_test is
	type T_TYPE				is (TYPE_1, TYPE_2, TYPE_3);

	function str_low(str : string) return integer is
	begin
                assert str'low = 1 severity failure;
		return str'low;
	end function;
	
	constant string1 : string := "TYPE_1";
	constant string2 : T_TYPE := TYPE_1;
	
begin

assert false report "str_low of type'image     : i =" & integer'image(str_low(T_TYPE'image(string2))) severity note;
assert false report "tic low of type'image     : i =" & integer'image(T_TYPE'image(string2)'low) severity note;
assert false report "tic low of string         : i =" & integer'image(string1'low) severity note;
assert false report "str_low of string         : i =" & integer'image(str_low(string1)) severity note;

end rtl;