Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 15 additions & 11 deletions calc_mul.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,23 @@
import re

def calc(A,B):
ai=str(A)
bi=str(B)
p = re.compile('\d+(\.\d+)?')
if p.match(ai) or p.match(bi):
a=float(ai)
b=float(bi)
if 0<a and a<b and b<1000:
valid=True
if type(A) is str or type(B) is str:
valid = False
else:
ai=str(A)
bi=str(B)

p = re.compile('^\d+$')
if p.match(ai) and p.match(bi):
a=int(ai)
b=int(bi)
if 0<a and a<1000 and 0<b and b<1000:
valid=True
else:
valid=False
else:
valid=False
else:
valid=False


if valid:
ans=a*b
return ans
Expand Down
36 changes: 32 additions & 4 deletions test_cases.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,43 @@

class TestCalc (unittest.TestCase):

# 有効範囲内でのテスト
def test_sample1 (self):
self.assertEqual (21, calc(3,7))
self.assertEqual (1, calc(1, 1))

def test_sample2 (self):
self.assertEqual (-1, calc(0,150))
self.assertEqual (998001, calc(999, 999))

def test_sample3 (self):
self.assertEqual (-1, calc('a','b'))
self.assertEqual (999, calc(1, 999))

def test_sample4 (self):
self.assertEqual (-1, calc(0.1,999))
self.assertEqual (999, calc(999, 1))

# 無効な値である0が渡された場合
def test_sample5 (self):
self.assertEqual (-1, calc(0, 500))

def test_sample6 (self):
self.assertEqual (-1, calc(500, 0))

# 無効な値である1000が入力された場合
def test_sample7 (self):
self.assertEqual (-1, calc(1000, 500))

def test_sample8 (self):
self.assertEqual (-1, calc(500, 1000))

# 無効な入力として文字列が与えられた場合
def test_sample9 (self):
self.assertEqual (-1, calc("100", 500))

def test_sample10 (self):
self.assertEqual (-1, calc(500, "100"))

# 無効な値として小数が与えられた場合
def test_sample11 (self):
self.assertEqual (-1, calc(1.1, 500))

def test_sample12 (self):
self.assertEqual (-1, calc(500, 1.1))
Loading