Port and tune 26.3 wood farming

This commit is contained in:
Tanner
2026-11-05 16:36:10 +00:00
parent b89f0f6ed2
commit 4c27f5058e
15 changed files with 412 additions and 40 deletions
+37
View File
@@ -0,0 +1,37 @@
import unittest
from unittest.mock import patch
from munch import Munch
from mosfet.jobs.clear_leaves import ClearLeavesStates
class ClearLeavesTests(unittest.TestCase):
def test_spaces_leaf_breaks_at_configured_interval(self):
class FakeGame:
def __init__(self):
self.broken = []
def break_block(self, location):
self.broken.append(location)
return True
game = FakeGame()
state = ClearLeavesStates(Munch(
breaking=False, game=game, look_at=None))
state.leaves = [(0, 64, 0), (1, 64, 0)]
with patch('mosfet.jobs.clear_leaves.time.monotonic', return_value=10):
state.break_leaves()
self.assertEqual(game.broken, [(0, 64, 0)])
with patch('mosfet.jobs.clear_leaves.time.monotonic', return_value=10.59):
state.break_leaves()
self.assertEqual(game.broken, [(0, 64, 0)])
with patch('mosfet.jobs.clear_leaves.time.monotonic', return_value=10.6):
state.break_leaves()
self.assertEqual(game.broken, [(0, 64, 0), (1, 64, 0)])
if __name__ == '__main__':
unittest.main()