function(test)

set(listA 1 2 3 4 )
set(listB 1 3 5 3 )
set(listC 1 4 4 3 )
set(listD 1 5 5 5 3)

map_query( "from a in listA, b in listB,c in listC, d in listD where {a} STREQUAL {b} AND {b} STREQUAL {c} AND {d} STREQUAL {c} select new { \"lol\":\"{a}\"}")
ans(res)
foreach(r ${res})
	ref_print(${r})
endforeach()
return()

map_transform( "1")
ans(res)
assert("1" STREQUAL "${res}")

element(MAP)
	value(KEY k1 v1)
	value(KEY k2 v2)
	value(KEY k3 v3)
	element(k4 LIST)
		value(1)
		value(2)
		value(3)
	element(END)
	element(k5 MAP)
		value(KEY k1 va)
		value(KEY k2 vb)
		value(KEY k3 vc)
	element(END)
element(END uut)

endfunction()