| Total Complexity | 3 |
| Total Lines | 21 |
| Duplicated Lines | 0 % |
| Changes | 0 | ||
| 1 | """ |
||
| 2 | Tests for the Marvin Principle action |
||
| 3 | """ |
||
| 4 | |||
| 5 | from unittest import mock |
||
| 6 | |||
| 7 | from test_action import ActionTest |
||
| 8 | from irc2phpbb import marvin_actions |
||
| 9 | |||
| 10 | class PrincipleTest(ActionTest): |
||
| 11 | """Tests for the Marvin Principle action""" |
||
| 12 | def testPrinciple(self): |
||
| 13 | """Test that marvin can recite some software principles""" |
||
| 14 | principles = self.strings.get("principle") |
||
| 15 | for key, value in principles.items(): |
||
| 16 | self.assertActionOutput(marvin_actions.marvinPrinciple, f"princip {key}", value) |
||
| 17 | with mock.patch("irc2phpbb.marvin_actions.random") as r: |
||
| 18 | r.choice.return_value = "dry" |
||
| 19 | self.assertStringsOutput(marvin_actions.marvinPrinciple, "princip", "principle", "dry") |
||
| 20 | self.assertActionSilent(marvin_actions.marvinPrinciple, "principlös") |
||
| 21 |