aboutsummaryrefslogtreecommitdiff
path: root/challenge-273/bruce-gray/python/ch-2.py
diff options
context:
space:
mode:
authorUtil <bruce.gray@acm.org>2024-06-15 21:38:47 -0500
committerUtil <bruce.gray@acm.org>2024-06-15 21:38:47 -0500
commit72ee76ae0df98e4c506a597210a9fb7fecc27e1c (patch)
tree18c71731b0ac6d28df3356e3bffb08dfe3f95c1f /challenge-273/bruce-gray/python/ch-2.py
parent9ef842e7e7d8cfe407f22fa985dad2455ab3c227 (diff)
downloadperlweeklychallenge-club-72ee76ae0df98e4c506a597210a9fb7fecc27e1c.tar.gz
perlweeklychallenge-club-72ee76ae0df98e4c506a597210a9fb7fecc27e1c.tar.bz2
perlweeklychallenge-club-72ee76ae0df98e4c506a597210a9fb7fecc27e1c.zip
Add TWC 273 solutions by Bruce Gray, in Raku, Perl, and Python.
Diffstat (limited to 'challenge-273/bruce-gray/python/ch-2.py')
-rwxr-xr-xchallenge-273/bruce-gray/python/ch-2.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/challenge-273/bruce-gray/python/ch-2.py b/challenge-273/bruce-gray/python/ch-2.py
new file mode 100755
index 0000000000..d1ce92088f
--- /dev/null
+++ b/challenge-273/bruce-gray/python/ch-2.py
@@ -0,0 +1,19 @@
+#!python
+import re
+
+def task2(str):
+ p = re.compile('^[^b]*b[^a]*$')
+ return bool(p.match(str))
+
+
+import unittest
+class TestTask1(unittest.TestCase):
+ def t(self, str, expected):
+ self.assertEqual(task2(str), expected, f"task2('{str}')")
+
+ def test_1(self): self.t('aabb' , True )
+ def test_2(self): self.t('abab' , False)
+ def test_3(self): self.t('aaa' , False)
+ def test_4(self): self.t('bbb' , True )
+
+unittest.main()