val ls_urban = List(("1", "a"), ("2", "a"), ("1", "c"), ("2", "a"), ("1", "c")) val m_urban = groupById(ls_urban, Map()) assert(m_urban.getOrElse("1", Nil).count(_ == "c") == 2) assert(m_urban.getOrElse("1", Nil).count(_ == "a") == 1) assert(m_urban.getOrElse("2", Nil) == List("a", "a"))