aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fl.fischer@fau.de>2020-08-25 16:21:39 +0200
committerFlorian Fischer <florian.fl.fischer@fau.de>2020-08-25 16:21:39 +0200
commit2ad7fbc35c13093c3d13c796ea4fe4f03592d3db (patch)
tree57a6e708b8bd50fdcf5eb69cf693b3250f29a5d7
parent8c38c0244f8c530bc7a4d67d7f70bb59af942a63 (diff)
downloadgeldschieberbot-2ad7fbc35c13093c3d13c796ea4fe4f03592d3db.tar.gz
geldschieberbot-2ad7fbc35c13093c3d13c796ea4fe4f03592d3db.zip
prohibit pure numerical names
-rw-r--r--geldschieberbot.py8
-rwxr-xr-xtest.py17
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
diff --git a/test.py b/test.py
index 929605c..56f6949 100755
--- a/test.py
+++ b/test.py
@@ -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)