var pos = new POSet[String]
pos.add_chain(["A", "B", "C", "D", "E"])
pos.add_chain(["A", "X", "C", "Y", "E"])
var a = pos.linearize(["X", "C", "E", "A", "D"])
assert a == ["E", "D", "C", "X", "A"]
# Sort a sorted array of poset elements using linearization order
# ~~~~
# var pos = new POSet[String]
# pos.add_chain(["A", "B", "C", "D", "E"])
# pos.add_chain(["A", "X", "C", "Y", "E"])
# var a = pos.linearize(["X", "C", "E", "A", "D"])
# assert a == ["E", "D", "C", "X", "A"]
# ~~~~
fun linearize(elements: Collection[E]): Array[E] do
var lin = elements.to_a
sort(lin)
return lin
end
lib/poset/poset.nit:374,2--386,4