You've already forked HeurAMS-legacy
fix
This commit is contained in:
@@ -11,10 +11,12 @@ class TestElectron(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
# 模拟 timer.get_timestamp 返回固定值
|
||||
self.timestamp_patcher = patch('heurams.kernel.particles.electron.timer.get_timestamp')
|
||||
self.timestamp_patcher = patch(
|
||||
"heurams.kernel.particles.electron.timer.get_timestamp"
|
||||
)
|
||||
self.mock_get_timestamp = self.timestamp_patcher.start()
|
||||
self.mock_get_timestamp.return_value = 1234567890.0
|
||||
|
||||
|
||||
def tearDown(self):
|
||||
self.timestamp_patcher.stop()
|
||||
|
||||
@@ -67,9 +69,9 @@ class TestElectron(unittest.TestCase):
|
||||
electron.modify("interval", 5)
|
||||
self.assertEqual(electron.algodata[electron.algo]["interval"], 5)
|
||||
self.assertEqual(electron.algodata[electron.algo]["last_modify"], 1234567890.0)
|
||||
|
||||
|
||||
# 修改不存在的字段应记录警告但不引发异常
|
||||
with patch('heurams.kernel.particles.electron.logger.warning') as mock_warning:
|
||||
with patch("heurams.kernel.particles.electron.logger.warning") as mock_warning:
|
||||
electron.modify("unknown_field", 99)
|
||||
mock_warning.assert_called_once()
|
||||
|
||||
@@ -85,7 +87,7 @@ class TestElectron(unittest.TestCase):
|
||||
def test_is_due(self):
|
||||
"""测试 is_due 方法"""
|
||||
electron = Electron("test_electron")
|
||||
with patch.object(electron.algo, 'is_due') as mock_is_due:
|
||||
with patch.object(electron.algo, "is_due") as mock_is_due:
|
||||
mock_is_due.return_value = 1
|
||||
result = electron.is_due()
|
||||
mock_is_due.assert_called_once_with(electron.algodata)
|
||||
@@ -94,7 +96,7 @@ class TestElectron(unittest.TestCase):
|
||||
def test_rate(self):
|
||||
"""测试 rate 方法"""
|
||||
electron = Electron("test_electron")
|
||||
with patch.object(electron.algo, 'rate') as mock_rate:
|
||||
with patch.object(electron.algo, "rate") as mock_rate:
|
||||
mock_rate.return_value = "good"
|
||||
result = electron.rate()
|
||||
mock_rate.assert_called_once_with(electron.algodata)
|
||||
@@ -103,7 +105,7 @@ class TestElectron(unittest.TestCase):
|
||||
def test_nextdate(self):
|
||||
"""测试 nextdate 方法"""
|
||||
electron = Electron("test_electron")
|
||||
with patch.object(electron.algo, 'nextdate') as mock_nextdate:
|
||||
with patch.object(electron.algo, "nextdate") as mock_nextdate:
|
||||
mock_nextdate.return_value = 1234568000
|
||||
result = electron.nextdate()
|
||||
mock_nextdate.assert_called_once_with(electron.algodata)
|
||||
@@ -112,7 +114,7 @@ class TestElectron(unittest.TestCase):
|
||||
def test_revisor(self):
|
||||
"""测试 revisor 方法"""
|
||||
electron = Electron("test_electron")
|
||||
with patch.object(electron.algo, 'revisor') as mock_revisor:
|
||||
with patch.object(electron.algo, "revisor") as mock_revisor:
|
||||
electron.revisor(quality=3, is_new_activation=True)
|
||||
mock_revisor.assert_called_once_with(electron.algodata, 3, True)
|
||||
|
||||
@@ -144,7 +146,7 @@ class TestElectron(unittest.TestCase):
|
||||
electron.activate()
|
||||
self.assertEqual(electron["ident"], "test_electron")
|
||||
self.assertEqual(electron["is_activated"], 1)
|
||||
|
||||
|
||||
with self.assertRaises(KeyError):
|
||||
_ = electron["nonexistent_key"]
|
||||
|
||||
@@ -154,7 +156,7 @@ class TestElectron(unittest.TestCase):
|
||||
electron["interval"] = 10
|
||||
self.assertEqual(electron.algodata[electron.algo]["interval"], 10)
|
||||
self.assertEqual(electron.algodata[electron.algo]["last_modify"], 1234567890.0)
|
||||
|
||||
|
||||
with self.assertRaises(AttributeError):
|
||||
electron["ident"] = "new_ident"
|
||||
|
||||
@@ -173,5 +175,5 @@ class TestElectron(unittest.TestCase):
|
||||
self.assertEqual(placeholder.algo, algorithms["supermemo2"])
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user