Skip to content

Commit ee90435

Browse files
committed
End of 8
1 parent 38f8343 commit ee90435

3 files changed

Lines changed: 38 additions & 2 deletions

File tree

‎Work/fileparse.py‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# fileparse.py
22
import csv
3+
import logging
4+
log = logging.getLogger(__name__)
35

46

57
def parse_csv(lines, select=None, types=None, has_headers=True, delimiter=',', silence_errors=False):
@@ -34,8 +36,8 @@ def parse_csv(lines, select=None, types=None, has_headers=True, delimiter=',', s
3436
row = [func(val) for func, val in zip(types, row)]
3537
except ValueError as e:
3638
if not silence_errors:
37-
print(f"Row {rowno}: Couldn't convert {row}")
38-
print(f"Row {rowno}: Reason {e}")
39+
log.warning(f"Row {rowno}: Couldn't convert {row}")
40+
log.debug(f"Row {rowno}: Reason {e}")
3941
continue
4042

4143
# Make a dictionary or a tuple

‎Work/report.py‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,4 +67,10 @@ def main(args):
6767

6868
if __name__ == '__main__':
6969
import sys
70+
import logging
71+
logging.basicConfig(
72+
filename='app.log',
73+
filemode='w',
74+
level=logging.DEBUG
75+
)
7076
main(sys.argv)

‎Work/test_stock.py‎

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import unittest
2+
import stock
3+
4+
5+
class TestStock(unittest.TestCase):
6+
def test_create(self):
7+
s = stock.Stock('GOOG', 100, 490.1)
8+
self.assertEqual(s.name, 'GOOG')
9+
self.assertEqual(s.shares, 100)
10+
self.assertEqual(s.price, 490.1)
11+
12+
def test_cost_propoerty(self):
13+
s = stock.Stock('GOOG', 100, 490.1)
14+
self.assertEqual(s.cost, 49010)
15+
16+
def test_sell(self):
17+
s = stock.Stock('GOOG', 100, 490.1)
18+
s.sell(50)
19+
self.assertEqual(s.shares, 50)
20+
21+
def test_sharestype(self):
22+
s = stock.Stock('GOOG', 100, 490.1)
23+
with self.assertRaises(TypeError):
24+
s.shares = '100'
25+
26+
27+
if __name__ == '__main__':
28+
unittest.main()

0 commit comments

Comments
 (0)