mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 20:21:32 -06:00
53 lines
1.9 KiB
Python
53 lines
1.9 KiB
Python
![]() |
import unittest
|
||
|
|
||
|
from ....content import choose_tool_progression
|
||
|
from ....options import ToolProgression, SkillProgression
|
||
|
from ....strings.tool_names import Tool
|
||
|
|
||
|
|
||
|
class TestToolDistribution(unittest.TestCase):
|
||
|
|
||
|
def test_given_vanilla_tool_progression_when_create_feature_then_only_one_scythe_is_randomized(self):
|
||
|
tool_progression = ToolProgression(ToolProgression.option_vanilla)
|
||
|
skill_progression = SkillProgression.from_text("random")
|
||
|
|
||
|
feature = choose_tool_progression(tool_progression, skill_progression)
|
||
|
|
||
|
self.assertEqual(feature.tool_distribution, {
|
||
|
Tool.scythe: 1,
|
||
|
})
|
||
|
|
||
|
def test_given_progressive_tool_when_create_feature_then_all_tool_upgrades_are_randomized(self):
|
||
|
tool_progression = ToolProgression(ToolProgression.option_progressive)
|
||
|
skill_progression = SkillProgression(SkillProgression.option_progressive)
|
||
|
|
||
|
feature = choose_tool_progression(tool_progression, skill_progression)
|
||
|
|
||
|
self.assertEqual(feature.tool_distribution, {
|
||
|
Tool.scythe: 1,
|
||
|
Tool.pickaxe: 4,
|
||
|
Tool.axe: 4,
|
||
|
Tool.hoe: 4,
|
||
|
Tool.watering_can: 4,
|
||
|
Tool.trash_can: 4,
|
||
|
Tool.pan: 4,
|
||
|
Tool.fishing_rod: 4,
|
||
|
})
|
||
|
|
||
|
def test_given_progressive_tool_and_skill_masteries_when_create_feature_then_additional_scythe_and_fishing_rod_are_randomized(self):
|
||
|
tool_progression = ToolProgression(ToolProgression.option_progressive)
|
||
|
skill_progression = SkillProgression(SkillProgression.option_progressive_with_masteries)
|
||
|
|
||
|
feature = choose_tool_progression(tool_progression, skill_progression)
|
||
|
|
||
|
self.assertEqual(feature.tool_distribution, {
|
||
|
Tool.scythe: 2,
|
||
|
Tool.pickaxe: 4,
|
||
|
Tool.axe: 4,
|
||
|
Tool.hoe: 4,
|
||
|
Tool.watering_can: 4,
|
||
|
Tool.trash_can: 4,
|
||
|
Tool.pan: 4,
|
||
|
Tool.fishing_rod: 5,
|
||
|
})
|