simulated annealing output chooser
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user