Preparing git repo for final project
This commit is contained in:
19
problems/pset7/numb3rs/numb3rs.py
Normal file
19
problems/pset7/numb3rs/numb3rs.py
Normal file
@@ -0,0 +1,19 @@
|
||||
import re
|
||||
import sys
|
||||
|
||||
|
||||
def main():
|
||||
print(validate(input("IPv4 Address: ")))
|
||||
|
||||
|
||||
def validate(ip):
|
||||
if not re.match(r'^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$', ip):
|
||||
return False
|
||||
for n in map(int, ip.split('.')):
|
||||
if not 0 <= n <= 255:
|
||||
return False
|
||||
return True
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
32
problems/pset7/numb3rs/test_numb3rs.py
Normal file
32
problems/pset7/numb3rs/test_numb3rs.py
Normal file
@@ -0,0 +1,32 @@
|
||||
from numb3rs import validate
|
||||
|
||||
|
||||
def main():
|
||||
test_non_digits()
|
||||
test_negative_numbers()
|
||||
test_numbers_too_big()
|
||||
test_numbers_too_long()
|
||||
|
||||
|
||||
def test_non_digits():
|
||||
assert validate('aaa.bbb.ccc.ddd') == False
|
||||
assert validate('cat') == False
|
||||
|
||||
|
||||
def test_negative_numbers():
|
||||
assert validate('-11.111.-1.-1') == False
|
||||
|
||||
|
||||
def test_numbers_too_big():
|
||||
assert validate('257.200.1.1') == False
|
||||
assert validate('200.257.1.1') == False
|
||||
assert validate('200.1.257.1') == False
|
||||
assert validate('200.1.5.257') == False
|
||||
|
||||
|
||||
def test_numbers_too_long():
|
||||
assert validate('200.1.5.2.57') == False
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
Reference in New Issue
Block a user