# Golden test output of ABTPlanGeneration/LowerUniqueNode

==== VARIATION: Lower unique node with single key ====
-- INPUT:
Unique [{proj0}]
Evaluation [{proj0}]
|   FunctionCall [getField]
|   |   Const ["a"]
|   Variable [scan0]
PhysicalScan [{'<root>': scan0}, collName]

-- OUTPUT:
[2] unique [s2] 
[1] project [s2 = getField(s1, "a")] 
[0] scan s1 none none none none none [] @"<collUUID>" true false 

==== VARIATION: Lower unique node with multiple keys ====
-- INPUT:
Unique [{proj0, proj1, proj2}]
Evaluation [{proj2}]
|   FunctionCall [getField]
|   |   Const ["c"]
|   Variable [scan0]
Evaluation [{proj1}]
|   FunctionCall [getField]
|   |   Const ["b"]
|   Variable [scan0]
Evaluation [{proj0}]
|   FunctionCall [getField]
|   |   Const ["a"]
|   Variable [scan0]
PhysicalScan [{'<root>': scan0}, collName]

-- OUTPUT:
[4] unique [s2, s3, s4] 
[3] project [s4 = getField(s1, "c")] 
[2] project [s3 = getField(s1, "b")] 
[1] project [s2 = getField(s1, "a")] 
[0] scan s1 none none none none none [] @"<collUUID>" true false 
