def test_resolve_category_for_room_matches_correctly(self):

      for t in ["AUL01", "aul01", "aula", " aula", "aula ", " AULA "]:
         for r in self.generate_rooms_with_text(t):
            m = DXFRoomCatsResolver._resolve_category_for_room(r, self.cats)
            self.assertTrue(m)
            self.assertEqual(r["cat_id"], "AUL01")

      for t in ["WC01", "bAGNO", "bagno ", " wc01", " wc01", " BaGnO "]:
         for r in self.generate_rooms_with_text(t):
            m = DXFRoomCatsResolver._resolve_category_for_room(r, self.cats)
            self.assertTrue(m)
            self.assertEqual(r["cat_id"], "WC01")
   def test_resolve_category_for_room_does_not_match(self):
      should_not_match = [
         "AULs01", "aul001", "aulas", " l'aula", "aulai ", " AAULA ",
         "WC011", "baAGNO", "B bagno ", " w c01", " wc001", " BaGnOs "
      ]

      for t in should_not_match:
         for r in self.generate_rooms_with_text(t):
            m = DXFRoomCatsResolver._resolve_category_for_room(r, self.cats)
            self.assertFalse(m)
            self.assertTrue("cat_id" not in r)
   def test_cat_id_has_higher_priority_on_resolution(self):

      # Dovrà matchare "Aula" anche se le stanze contengono "Bagno" e "Aula Informatica"
      for t in ["AUL01", "aul01", "  aul01"]:
         for r in self.generate_rooms_with_text(t):
            r["texts"].append({ "text": "BAgno" })
            r["texts"].insert(0, { "text": "Aula Informatica" })

            m = DXFRoomCatsResolver._resolve_category_for_room(r, self.cats)
            self.assertTrue(m)
            self.assertEqual(r["cat_id"], "AUL01")

      # Dovrà matchare "Bagno" anche se le stanze contengono "Aula" e "Aula Informatica"
      for t in ["WC01", " wc01 ", "  wC01  "]:
         for r in self.generate_rooms_with_text(t):
            r["texts"].append({ "text": "Aula" })
            r["texts"].insert(0, { "text": "Aula Informatica" })

            m = DXFRoomCatsResolver._resolve_category_for_room(r, self.cats)
            self.assertTrue(m)
            self.assertEqual(r["cat_id"], "WC01")