Skip to content

Commit 139e157

Browse files
authored
#273: Remove nose dependency for stacks_queues/ (#276)
1 parent 0e7ed80 commit 139e157

23 files changed

+290
-373
lines changed

stacks_queues/n_stacks/n_stacks_challenge.ipynb

Lines changed: 14 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -80,9 +80,7 @@
8080
{
8181
"cell_type": "code",
8282
"execution_count": null,
83-
"metadata": {
84-
"collapsed": true
85-
},
83+
"metadata": {},
8684
"outputs": [],
8785
"source": [
8886
"class Stacks(object):\n",
@@ -118,25 +116,20 @@
118116
{
119117
"cell_type": "code",
120118
"execution_count": null,
121-
"metadata": {
122-
"collapsed": false
123-
},
119+
"metadata": {},
124120
"outputs": [],
125121
"source": [
126122
"# %load test_n_stacks.py\n",
127-
"from nose.tools import assert_equal\n",
128-
"from nose.tools import raises\n",
123+
"import unittest\n",
129124
"\n",
130125
"\n",
131-
"class TestStacks(object):\n",
126+
"class TestStacks(unittest.TestCase):\n",
132127
"\n",
133-
" @raises(Exception)\n",
134128
" def test_pop_on_empty(self, num_stacks, stack_size):\n",
135129
" print('Test: Pop on empty stack')\n",
136130
" stacks = Stacks(num_stacks, stack_size)\n",
137131
" stacks.pop(0)\n",
138132
"\n",
139-
" @raises(Exception)\n",
140133
" def test_push_on_full(self, num_stacks, stack_size):\n",
141134
" print('Test: Push to full stack')\n",
142135
" stacks = Stacks(num_stacks, stack_size)\n",
@@ -153,10 +146,10 @@
153146
" stacks.push(2, 4)\n",
154147
"\n",
155148
" print('Test: Pop on non-empty stack')\n",
156-
" assert_equal(stacks.pop(0), 2)\n",
157-
" assert_equal(stacks.pop(0), 1)\n",
158-
" assert_equal(stacks.pop(1), 3)\n",
159-
" assert_equal(stacks.pop(2), 4)\n",
149+
" self.assertEqual(stacks.pop(0), 2)\n",
150+
" self.assertEqual(stacks.pop(0), 1)\n",
151+
" self.assertEqual(stacks.pop(1), 3)\n",
152+
" self.assertEqual(stacks.pop(2), 4)\n",
160153
"\n",
161154
" print('Success: test_stacks\\n')\n",
162155
"\n",
@@ -165,8 +158,10 @@
165158
" num_stacks = 3\n",
166159
" stack_size = 100\n",
167160
" test = TestStacks()\n",
168-
" test.test_pop_on_empty(num_stacks, stack_size)\n",
169-
" test.test_push_on_full(num_stacks, stack_size)\n",
161+
" test.assertRaises(Exception, test.test_pop_on_empty, num_stacks,\n",
162+
" stack_size)\n",
163+
" test.assertRaises(Exception, test.test_push_on_full, num_stacks,\n",
164+
" stack_size)\n",
170165
" test.test_stacks(num_stacks, stack_size)\n",
171166
"\n",
172167
"\n",
@@ -200,9 +195,9 @@
200195
"name": "python",
201196
"nbconvert_exporter": "python",
202197
"pygments_lexer": "ipython3",
203-
"version": "3.5.0"
198+
"version": "3.7.2"
204199
}
205200
},
206201
"nbformat": 4,
207-
"nbformat_minor": 0
202+
"nbformat_minor": 1
208203
}

stacks_queues/n_stacks/n_stacks_solution.ipynb

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -110,9 +110,7 @@
110110
{
111111
"cell_type": "code",
112112
"execution_count": 1,
113-
"metadata": {
114-
"collapsed": true
115-
},
113+
"metadata": {},
116114
"outputs": [],
117115
"source": [
118116
"class Stacks(object):\n",
@@ -154,9 +152,7 @@
154152
{
155153
"cell_type": "code",
156154
"execution_count": 2,
157-
"metadata": {
158-
"collapsed": false
159-
},
155+
"metadata": {},
160156
"outputs": [
161157
{
162158
"name": "stdout",
@@ -168,19 +164,16 @@
168164
],
169165
"source": [
170166
"%%writefile test_n_stacks.py\n",
171-
"from nose.tools import assert_equal\n",
172-
"from nose.tools import raises\n",
167+
"import unittest\n",
173168
"\n",
174169
"\n",
175-
"class TestStacks(object):\n",
170+
"class TestStacks(unittest.TestCase):\n",
176171
"\n",
177-
" @raises(Exception)\n",
178172
" def test_pop_on_empty(self, num_stacks, stack_size):\n",
179173
" print('Test: Pop on empty stack')\n",
180174
" stacks = Stacks(num_stacks, stack_size)\n",
181175
" stacks.pop(0)\n",
182176
"\n",
183-
" @raises(Exception)\n",
184177
" def test_push_on_full(self, num_stacks, stack_size):\n",
185178
" print('Test: Push to full stack')\n",
186179
" stacks = Stacks(num_stacks, stack_size)\n",
@@ -197,10 +190,10 @@
197190
" stacks.push(2, 4)\n",
198191
"\n",
199192
" print('Test: Pop on non-empty stack')\n",
200-
" assert_equal(stacks.pop(0), 2)\n",
201-
" assert_equal(stacks.pop(0), 1)\n",
202-
" assert_equal(stacks.pop(1), 3)\n",
203-
" assert_equal(stacks.pop(2), 4)\n",
193+
" self.assertEqual(stacks.pop(0), 2)\n",
194+
" self.assertEqual(stacks.pop(0), 1)\n",
195+
" self.assertEqual(stacks.pop(1), 3)\n",
196+
" self.assertEqual(stacks.pop(2), 4)\n",
204197
"\n",
205198
" print('Success: test_stacks\\n')\n",
206199
"\n",
@@ -209,8 +202,10 @@
209202
" num_stacks = 3\n",
210203
" stack_size = 100\n",
211204
" test = TestStacks()\n",
212-
" test.test_pop_on_empty(num_stacks, stack_size)\n",
213-
" test.test_push_on_full(num_stacks, stack_size)\n",
205+
" test.assertRaises(Exception, test.test_pop_on_empty, num_stacks,\n",
206+
" stack_size)\n",
207+
" test.assertRaises(Exception, test.test_push_on_full, num_stacks,\n",
208+
" stack_size)\n",
214209
" test.test_stacks(num_stacks, stack_size)\n",
215210
"\n",
216211
"\n",
@@ -221,9 +216,7 @@
221216
{
222217
"cell_type": "code",
223218
"execution_count": 3,
224-
"metadata": {
225-
"collapsed": false
226-
},
219+
"metadata": {},
227220
"outputs": [
228221
{
229222
"name": "stdout",
@@ -241,6 +234,13 @@
241234
"source": [
242235
"run -i test_n_stacks.py"
243236
]
237+
},
238+
{
239+
"cell_type": "code",
240+
"execution_count": null,
241+
"metadata": {},
242+
"outputs": [],
243+
"source": []
244244
}
245245
],
246246
"metadata": {
@@ -259,9 +259,9 @@
259259
"name": "python",
260260
"nbconvert_exporter": "python",
261261
"pygments_lexer": "ipython3",
262-
"version": "3.5.0"
262+
"version": "3.7.2"
263263
}
264264
},
265265
"nbformat": 4,
266-
"nbformat_minor": 0
266+
"nbformat_minor": 1
267267
}
Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,13 @@
1-
from nose.tools import assert_equal
2-
from nose.tools import raises
1+
import unittest
32

43

5-
class TestStacks(object):
4+
class TestStacks(unittest.TestCase):
65

7-
@raises(Exception)
86
def test_pop_on_empty(self, num_stacks, stack_size):
97
print('Test: Pop on empty stack')
108
stacks = Stacks(num_stacks, stack_size)
119
stacks.pop(0)
1210

13-
@raises(Exception)
1411
def test_push_on_full(self, num_stacks, stack_size):
1512
print('Test: Push to full stack')
1613
stacks = Stacks(num_stacks, stack_size)
@@ -27,10 +24,10 @@ def test_stacks(self, num_stacks, stack_size):
2724
stacks.push(2, 4)
2825

2926
print('Test: Pop on non-empty stack')
30-
assert_equal(stacks.pop(0), 2)
31-
assert_equal(stacks.pop(0), 1)
32-
assert_equal(stacks.pop(1), 3)
33-
assert_equal(stacks.pop(2), 4)
27+
self.assertEqual(stacks.pop(0), 2)
28+
self.assertEqual(stacks.pop(0), 1)
29+
self.assertEqual(stacks.pop(1), 3)
30+
self.assertEqual(stacks.pop(2), 4)
3431

3532
print('Success: test_stacks\n')
3633

@@ -39,10 +36,12 @@ def main():
3936
num_stacks = 3
4037
stack_size = 100
4138
test = TestStacks()
42-
test.test_pop_on_empty(num_stacks, stack_size)
43-
test.test_push_on_full(num_stacks, stack_size)
39+
test.assertRaises(Exception, test.test_pop_on_empty, num_stacks,
40+
stack_size)
41+
test.assertRaises(Exception, test.test_push_on_full, num_stacks,
42+
stack_size)
4443
test.test_stacks(num_stacks, stack_size)
4544

4645

4746
if __name__ == '__main__':
48-
main()
47+
main()

stacks_queues/queue_from_stacks/queue_from_stacks_challenge.ipynb

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -77,9 +77,7 @@
7777
{
7878
"cell_type": "code",
7979
"execution_count": null,
80-
"metadata": {
81-
"collapsed": false
82-
},
80+
"metadata": {},
8381
"outputs": [],
8482
"source": [
8583
"%run ../stack/stack.py\n",
@@ -89,9 +87,7 @@
8987
{
9088
"cell_type": "code",
9189
"execution_count": null,
92-
"metadata": {
93-
"collapsed": false
94-
},
90+
"metadata": {},
9591
"outputs": [],
9692
"source": [
9793
"class QueueFromStacks(object):\n",
@@ -124,21 +120,19 @@
124120
{
125121
"cell_type": "code",
126122
"execution_count": null,
127-
"metadata": {
128-
"collapsed": false
129-
},
123+
"metadata": {},
130124
"outputs": [],
131125
"source": [
132126
"# %load test_queue_from_stacks.py\n",
133-
"from nose.tools import assert_equal\n",
127+
"import unittest\n",
134128
"\n",
135129
"\n",
136-
"class TestQueueFromStacks(object):\n",
130+
"class TestQueueFromStacks(unittest.TestCase):\n",
137131
"\n",
138132
" def test_queue_from_stacks(self):\n",
139133
" print('Test: Dequeue on empty stack')\n",
140134
" queue = QueueFromStacks()\n",
141-
" assert_equal(queue.dequeue(), None)\n",
135+
" self.assertEqual(queue.dequeue(), None)\n",
142136
"\n",
143137
" print('Test: Enqueue on empty stack')\n",
144138
" print('Test: Enqueue on non-empty stack')\n",
@@ -149,15 +143,15 @@
149143
"\n",
150144
" print('Test: Dequeue on non-empty stack')\n",
151145
" print('Test: Dequeue after an enqueue')\n",
152-
" assert_equal(queue.dequeue(), 0)\n",
146+
" self.assertEqual(queue.dequeue(), 0)\n",
153147
"\n",
154148
" print('Test: Multiple dequeue in a row')\n",
155-
" assert_equal(queue.dequeue(), 1)\n",
156-
" assert_equal(queue.dequeue(), 2)\n",
149+
" self.assertEqual(queue.dequeue(), 1)\n",
150+
" self.assertEqual(queue.dequeue(), 2)\n",
157151
"\n",
158152
" print('Test: Enqueue after a dequeue')\n",
159153
" queue.enqueue(5)\n",
160-
" assert_equal(queue.dequeue(), 5)\n",
154+
" self.assertEqual(queue.dequeue(), 5)\n",
161155
"\n",
162156
" print('Success: test_queue_from_stacks')\n",
163157
"\n",
@@ -197,9 +191,9 @@
197191
"name": "python",
198192
"nbconvert_exporter": "python",
199193
"pygments_lexer": "ipython3",
200-
"version": "3.5.0"
194+
"version": "3.7.2"
201195
}
202196
},
203197
"nbformat": 4,
204-
"nbformat_minor": 0
198+
"nbformat_minor": 1
205199
}

0 commit comments

Comments
 (0)