Skip to content
Merged
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
File renamed without changes.
File renamed without changes.
11 changes: 11 additions & 0 deletions students/Justin_Jameson/lesson01/activity/.idea/activity.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions students/Justin_Jameson/lesson01/activity/.idea/encodings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions students/Justin_Jameson/lesson01/activity/.idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions students/Justin_Jameson/lesson01/activity/.idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions students/Justin_Jameson/lesson01/activity/.idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

568 changes: 568 additions & 0 deletions students/Justin_Jameson/lesson01/activity/.idea/workspace.xml

Large diffs are not rendered by default.

File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from .exceptions import InsufficientOperands


class Calculator(object):

def __init__(self, adder, subtracter, multiplier, divider):
Expand All @@ -11,7 +12,7 @@ def __init__(self, adder, subtracter, multiplier, divider):
self.stack = []

def enter_number(self, number):
self.stack.insert(0, number)
self.stack.insert(1, number)

def _do_calc(self, operator):
try:
Expand All @@ -31,5 +32,5 @@ def subtract(self):
def multiply(self):
return self._do_calc(self.multiplier)

def divide(self):
def divider(self):
return self._do_calc(self.divider)
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
37 changes: 37 additions & 0 deletions ...te_student/lesson01/activity/test_unit.py → ...in_Jameson/lesson01/activity/test_unit.py
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
from calculator.calculator import Calculator
from calculator.exceptions import InsufficientOperands


class AdderTests(TestCase):

def test_adding(self):
Expand All @@ -28,6 +29,26 @@ def test_subtracting(self):
self.assertEqual(i - j, subtracter.calc(i, j))


class MultiplierTests(TestCase):

def test_multiplying(self):
multiplier = Multiplier()

for i in range(-10, 10):
for j in range(-10, 10):
self.assertEqual(i * j, multiplier.calc(i, j))


class DividerTests(TestCase):

def test_dividing(self):
divider = Divider()

for i in range(-10, 10):
for j in range(1, 21):
self.assertEqual(i / j, divider.calc(i, j))


class CalculatorTests(TestCase):

def setUp(self):
Expand Down Expand Up @@ -62,4 +83,20 @@ def test_subtracter_call(self):

self.subtracter.calc.assert_called_with(1, 2)

def test_multiplier_call(self):
self.multiplier.calc = MagicMock(return_value=0)

self.calculator.enter_number(1)
self.calculator.enter_number(2)
self.calculator.multiply()

self.multiplier.calc.assert_called_with(1, 2)

def test_divider_call(self):
self.divider.calc = MagicMock(return_value=0)

self.calculator.enter_number(1)
self.calculator.enter_number(2)
self.calculator.divider()

self.divider.calc.assert_called_with(1, 2)
Binary file not shown.
File renamed without changes.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading