コード例 #1
0
   def test_resolve_room_categories(self):
      a_floor = MagicMock()

      should_be_called  = MagicMock(return_value = True)
      cats              = MagicMock(return_value = "cats_result")
      class_ns          = "__main__.DXFRoomCatsResolver"

      with patch(class_ns+".get_room_categories_dict", cats):
         with patch(class_ns+"._resolve_room_categories_for_floor", should_be_called):
            # Chiamata 1 - un solo floor, passato come parametro
            r = DXFRoomCatsResolver.resolve_room_categories(MagicMock(), a_floor)

            self.assertEqual(r, 1)
            MagicMock.assert_called_once_with(cats)

            MagicMock.assert_called_once_with(
               should_be_called,
               a_floor,
               "cats_result",
            )

            MagicMock.reset_mock(should_be_called)
            b = {
               "dxf": { "floors": ["firstfloor", "secondfloor", "thirdfloor"] }
            }
            r = DXFRoomCatsResolver.resolve_room_categories(b)

            for f in b["dxf"]["floors"]:
               MagicMock.assert_any_call(
                  should_be_called,
                  f,
                  "cats_result"
            )

            self.assertEqual(r, 3)
コード例 #2
0
            def before_callback(b):
                DXFRoomIdsResolver.resolve_rooms_id(b,
                                                    new_floor,
                                                    source_name=None)

                DXFRoomCatsResolver.resolve_room_categories(b, new_floor)

                # Ensure floor merging is performed AFTER DXF Room_id resolution
                merged = b.attributes_for_source("merged")
                merged["floors"] = DataMerger.merge_floors(
                    b.get("edilizia"), b.get("easyroom"), b.get("dxf"))
コード例 #3
0
         def before_callback(b):
            DXFRoomIdsResolver.resolve_rooms_id(
                  b,
                  new_floor,
                  source_name = None
               )

            DXFRoomCatsResolver.resolve_room_categories(b, new_floor)

            # Ensure floor merging is performed AFTER DXF Room_id resolution
            merged            = b.attributes_for_source("merged")
            merged["floors"]  = DataMerger.merge_floors(
               b.get("edilizia"),
               b.get("easyroom"),
               b.get("dxf")
            )