# 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 none none lowPriority [] @"<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] 
[1] project [s2 = getField(s1, "a"), s3 = getField(s1, "b"), s4 = getField(s1, "c")] 
[0] scan s1 none none none none none none none lowPriority [] @"<collUUID>" true false 
