#*

@test map.vm

This template is used for Velocity regression testing.
If you alter this template make sure you change the
corresponding comparison file so that the regression 
test doesn't fail incorrectly.

*#

## This is a valid Map and Bar is a valid
## element.

$hashtable.Bar

## test the new Map support

#set( $hashtable.Foo = "foovalue")
$hashtable.get("Foo")
$hashtable.Foo

#set( $hashmap.Foo = "foovalue")
$hashmap.Foo
$hashmap.get("Foo")


##
##  test the support for the Map creation syntax
##
#set($key = 'key')
#set($value = 'value')

#set($mymap = { "a" : "aval", "bar" : "booboo", 'b' : 'bval', 1 : 2, $key :  $value, 'hash' : $hashmap } )
$mymap.put("bar", { "aa" : "aaa" })
$mymap.a
$mymap.get("a")
$mymap.b
$mymap.get('b')
$mymap.get(1)
$mymap.get($key)
$mymap.hash.Foo
$mymap.map.foo
$mymap.bar

##
##  test for empty map
##

#set($emptymap = {})
$emptymap.size()

#set($emptymap = { })
$emptymap.size()

##
##  test for values given with reference
##

#set($object = "aa")
#set($mapz = {"a" : $object, "b" : "bb" })
#set($mapx = {"a" : "bb", "b" : $object })
#set($mapy = {"key": $object})
$mapz.a
$mapz.b
$mapx.a
$mapx.b
$mapy.key
