simulated annealing output chooser

This commit is contained in:
Bel LaPointe
2022-09-20 15:52:41 -06:00
parent c6b648195f
commit 2914c64fda
2 changed files with 53 additions and 4 deletions

View File

@@ -3,6 +3,30 @@ import unittest
import writer
class TestLineChooser(unittest.TestCase):
def test_simulated_annealing(self):
chooser = writer.LineChooserSimulatedAnnealing()
chooser.now = lambda *args: 100
for name, c in ({
"fresh something": [
writer.LineChooserSimulatedAnnealing.initial_health,
chooser.now(),
],
"old something": [
writer.LineChooserSimulatedAnnealing.initial_health - writer.LineChooserSimulatedAnnealing.decay_rate * 5,
chooser.now() - 5,
],
"fresh nothing": [
writer.LineChooserSimulatedAnnealing.initial_health - writer.LineChooserSimulatedAnnealing.nothing_penalty,
chooser.now(),
],
}).items():
self.assertEqual(
c[0],
chooser.health(self.new_line(True, c[1], not "nothing" in name)),
name,
)
def test_latest_sticky(self):
stale_something = self.new_line(False, 1, 1)
stale_nothing = self.new_line(False, 1, None)