function visit(value) { if (util.isNothing(value)) return; if (util.isCollection(value)) { util.each(value, visit); } else if (value instanceof OsmPrimitive) { ret.add(value); } else { util.assert(false, "Unexpected object to add as OSM primitive, got {0}", value); } };
tu.test("isCollection - everything else isn't a collection", function() { util.assert(!util.isCollection(null), "null isn't a collection"); util.assert(!util.isCollection(undefined), "undefined isn't a collection"); util.assert(!util.isCollection({}), "an object isn't a collection"); util.assert(!util.isCollection("foobar"), "an string isn't a collection"); })
tu.test("isCollection - list", function() { util.assert(util.isCollection(new java.util.ArrayList()), "list should be a collection"); }),
tu.test("isCollection - arguments", function() { util.assert(util.isCollection(arguments), "arguments should be a collection"); }),
tu.test("isCollection - array", function() { util.assert(util.isCollection([]), "array should be a collection"); }),