diff options
| author | Florian Fischer <florian.fl.fischer@fau.de> | 2020-08-25 16:21:39 +0200 |
|---|---|---|
| committer | Florian Fischer <florian.fl.fischer@fau.de> | 2020-08-25 16:21:39 +0200 |
| commit | 2ad7fbc35c13093c3d13c796ea4fe4f03592d3db (patch) | |
| tree | 57a6e708b8bd50fdcf5eb69cf693b3250f29a5d7 | |
| parent | 8c38c0244f8c530bc7a4d67d7f70bb59af942a63 (diff) | |
| download | geldschieberbot-2ad7fbc35c13093c3d13c796ea4fe4f03592d3db.tar.gz geldschieberbot-2ad7fbc35c13093c3d13c796ea4fe4f03592d3db.zip | |
prohibit pure numerical names
| -rw-r--r-- | geldschieberbot.py | 8 | ||||
| -rwxr-xr-x | test.py | 17 |
2 files changed, 24 insertions, 1 deletions
diff --git a/geldschieberbot.py b/geldschieberbot.py index 44327e1..a2c5186 100644 --- a/geldschieberbot.py +++ b/geldschieberbot.py @@ -207,11 +207,17 @@ def register(sender, args, msg): return None, f'not in form "{args[0]} name"' name = args[1] + try: + to_cent(name) + return None, "pure numerical names are not allowed" + except: + pass + if name in name2num: return None, f"{name} already registered" if sender in num2name: - return None,"you are already registered" + return None, "you are already registered" num2name[sender] = name name2num[name] = sender @@ -106,6 +106,13 @@ class TestRegCmd(unittest.TestCase): res = run_bot(self, num[alice], "!reg nase 03") self.assertEqual(res.stdout, 'ERROR: not in form "!reg name"') + def test_numerical_reg(self): + res = run_bot(self, num[alice], "!reg 9") + self.assertEqual(res.stdout, 'ERROR: pure numerical names are not allowed') + + res = run_bot(self, num[alice], "!reg 9.7") + self.assertEqual(res.stdout, 'ERROR: pure numerical names are not allowed') + def test_additional_reg(self): res = run_bot(self, num[alice], "!reg "+alice) self.assertEqual(res.stdout, 'Happy geldschiebing {}!'.format(alice)) @@ -317,6 +324,16 @@ alice: \t<- charlie 10.00 \tBalance: 10.00""" self.assertEqual(res.stdout, msg) + + def test_split_with_double_user(self): + res = run_bot(self, num[alice], f"!split 30 {charlie} {charlie}") + msg = \ +"""Split 30.00 between 3 -> 10.00 each +New Balance: +alice: +\t<- charlie 20.00 +\tBalance: 20.00""" + self.assertEqual(res.stdout, msg) def test_split(self): res = run_bot(self, num[alice], "!split 30 " + bob + " " + charlie) |
