コード例 #1
0
 def test_invalid_dto(self):
     atom_logic = AtomsLogic(10, 10, self.__class__.server_mock)
     with self.assertRaises(ValueError) as e:
         atom_logic.set_val_to_dto("iny_dto", (1, 3, 1))
     self.assertEqual(INVALID_DTO, str(e.exception))
     with self.assertRaises(ValueError) as e:
         atom_logic.get_dto_val("iny_dto")
     self.assertEqual(INVALID_DTO, str(e.exception))
コード例 #2
0
 def test_update_surface_with_scan_mode(self):
     atom_logic = AtomsLogic(10, 10, self.__class__.server_mock)
     atom_logic.set_is_surface(False)
     atom_logic.surface_data[3, 1] = 71
     z = 70
     atom_logic.set_val_to_dto(DTO_Z, (1, 3, z))
     assert atom_logic.tool_is_coming_down()
     self.assertEqual(z - CORRECTION_Z, atom_logic.surface_data[3, 1])
     self.assertEqual(z, atom_logic.get_dto_val(DTO_Z))
コード例 #3
0
 def test_z_touch_surface_without_scan_mode(self):
     atom_logic = AtomsLogic(10, 10, self.__class__.server_mock)
     atom_logic.set_is_surface(False)
     atom_logic.set_scan_mode(False)
     atom_logic.surface_data[3, 1] = 71
     z = 70
     with self.assertRaises(TouchingSurface) as e:
         atom_logic.set_val_to_dto(DTO_Z, (1, 3, z))
     self.assertEqual("touching the surface", str(e.exception))
     assert atom_logic.tool_is_coming_down()
     self.assertNotEqual(atom_logic.get_dto_val(DTO_Z), z)
コード例 #4
0
 def test_z_not_touch_surface_with_scan_mode(self, ):
     atom_logic = AtomsLogic(10, 10, self.__class__.server_mock)
     atom_logic.set_is_surface(False)
     z = 70
     set_z_func = atom_logic.set_val_dto_curried(DTO_Z)
     set_z_func((1, 3, z))
     assert atom_logic.tool_is_coming_down()
     self.assertNotEqual(z - CORRECTION_Z, atom_logic.surface_data[3, 1])
     self.assertEqual(z, atom_logic.get_dto_val(DTO_Z))
     self.assertEqual({
         Dto.SENSOR: Dto.SERVO_Z,
         'value': str(z)
     }, atom_logic.dto_z.to_dict())
コード例 #5
0
    def test_x_touch_side_surface_with_scan_mode(self):
        atom_logic = AtomsLogic(10, 10, self.__class__.server_mock)
        atom_logic.set_is_surface(False)
        atom_logic.server.send_data_to_all_clients = MagicMock()
        assert atom_logic.is_scan_mode()
        assert not atom_logic.is_surface()
        x = 1
        y = 3
        z = 40
        atom_logic.surface_data[y, x] = 50
        atom_logic.set_val_to_dto(DTO_Z, (0, 0, z))

        atom_logic.update_tool_coordinate()
        tool_x, tool_y, tool_z = atom_logic.get_tool_coordinate()
        self.assertNotEqual(x, tool_x)
        self.assertEqual(z, tool_z)
        self.assertNotEqual(y, tool_y)
        atom_logic.server. \
            send_data_to_all_clients. \
            assert_called_once_with(f'{{"sensor": "servo_z", "value": "{str(MAX - z)}"}}')

        atom_logic.set_val_to_dto(DTO_Y, (0, y, z))
        assert not atom_logic.tool_is_coming_down()

        with self.assertRaises(TouchingSurface) as e:
            atom_logic.set_val_to_dto(DTO_X, (x, y, z))
        self.assertEqual("touching the surface", str(e.exception))
        assert not atom_logic.tool_is_coming_down()
        self.assertNotEqual(atom_logic.get_dto_val(DTO_X), x)

        atom_logic.update_tool_coordinate()
        tool_x, tool_y, tool_z = atom_logic.get_tool_coordinate()
        self.assertNotEqual(x, tool_x)
        self.assertEqual(z, tool_z)
        self.assertEqual(y, tool_y)
        atom_logic.server. \
            send_data_to_all_clients. \
            assert_called_with(json.dumps(atom_logic.dto_y.to_dict()))