      "class TestCoinChange(object):\n",
      "\n",
      "    def test_coin_change(self):\n",
      "        coin_changer = CoinChanger()\n",
      "        assert_raises(TypeError, coin_changer.make_change, None, None)\n",
      "        assert_equal(coin_changer.make_change([], 0), 0)\n",
      "        assert_equal(coin_changer.make_change([1, 2, 3], 5), 2)\n",
      "        assert_equal(coin_changer.make_change([3, 2, 1], 5), 2)\n",
      "        assert_equal(coin_changer.make_change([3, 2, 1], 8), 3)\n",
      "        print('Success: test_coin_change')\n",
      "\n",
      "\n",
      "def main():\n",
      "    test = TestCoinChange()\n",
 
</s> remove     "        assert_raises(TypeError, coin_changer.make_change, None, None)\n",
    "        assert_equal(coin_changer.make_change([], 0), 0)\n",
    "        assert_equal(coin_changer.make_change([1, 2, 3], 5), 2)\n",
    "        assert_equal(coin_changer.make_change([3, 2, 1], 5), 2)\n",
    "        assert_equal(coin_changer.make_change([3, 2, 1], 8), 3)\n",
 </s> add     "        self.assertRaises(TypeError, coin_changer.make_change, None, None)\n",
    "        self.assertEqual(coin_changer.make_change([], 0), 0)\n",
    "        self.assertEqual(coin_changer.make_change([1, 2, 3], 5), 2)\n",
    "        self.assertEqual(coin_changer.make_change([3, 2, 1], 5), 2)\n",
    "        self.assertEqual(coin_changer.make_change([3, 2, 1], 8), 3)\n", </s> remove     "        assert_equal(coin_changer.make_change([1, 2], 0), 0)\n",
    "        assert_equal(coin_changer.make_change([1, 2, 3], 5), 5)\n",
    "        assert_equal(coin_changer.make_change([1, 5, 25, 50], 10), 3)\n",
 </s> add     "        self.assertEqual(coin_changer.make_change([1, 2], 0), 0)\n",
    "        self.assertEqual(coin_changer.make_change([1, 2, 3], 5), 5)\n",
    "        self.assertEqual(coin_changer.make_change([1, 5, 25, 50], 10), 3)\n", </s> remove     "        assert_equal(coin_changer.make_change([1, 2], 0), 0)\n",
    "        assert_equal(coin_changer.make_change([1, 2, 3], 5), 5)\n",
    "        assert_equal(coin_changer.make_change([1, 5, 25, 50], 10), 3)\n",
 </s> add     "        self.assertEqual(coin_changer.make_change([1, 2], 0), 0)\n",
    "        self.assertEqual(coin_changer.make_change([1, 2, 3], 5), 5)\n",
    "        self.assertEqual(coin_changer.make_change([1, 5, 25, 50], 10), 3)\n", </s> remove     "class Challenge(object):\n",
 </s> add     "class Challenge(unittest.TestCase):\n", </s> remove     "class Challenge(object):\n",
 </s> add     "class Challenge(unittest.TestCase):\n",
    "        self.assertRaises(TypeError, coin_changer.make_change, None, None)\n",
    "        self.assertEqual(coin_changer.make_change([], 0), 0)\n",
    "        self.assertEqual(coin_changer.make_change([1, 2, 3], 5), 2)\n",
    "        self.assertEqual(coin_changer.make_change([3, 2, 1], 5), 2)\n",
    "        self.assertEqual(coin_changer.make_change([3, 2, 1], 8), 3)\n",
      "class TestCoinChange(object):\n",
      "\n",
      "    def test_coin_change(self):\n",
      "        coin_changer = CoinChanger()\n",
    "        self.assertRaises(TypeError, coin_changer.make_change, None, None)\n",
    "        self.assertEqual(coin_changer.make_change([], 0), 0)\n",
    "        self.assertEqual(coin_changer.make_change([1, 2, 3], 5), 2)\n",
    "        self.assertEqual(coin_changer.make_change([3, 2, 1], 5), 2)\n",
    "        self.assertEqual(coin_changer.make_change([3, 2, 1], 8), 3)\n",
    "        self.assertRaises(TypeError, coin_changer.make_change, None, None)\n",
    "        self.assertEqual(coin_changer.make_change([], 0), 0)\n",
    "        self.assertEqual(coin_changer.make_change([1, 2, 3], 5), 2)\n",
    "        self.assertEqual(coin_changer.make_change([3, 2, 1], 5), 2)\n",
    "        self.assertEqual(coin_changer.make_change([3, 2, 1], 8), 3)\n",
    "        self.assertRaises(TypeError, coin_changer.make_change, None, None)\n",
    "        self.assertEqual(coin_changer.make_change([], 0), 0)\n",
    "        self.assertEqual(coin_changer.make_change([1, 2, 3], 5), 2)\n",
    "        self.assertEqual(coin_changer.make_change([3, 2, 1], 5), 2)\n",
    "        self.assertEqual(coin_changer.make_change([3, 2, 1], 8), 3)\n",
    "        self.assertRaises(TypeError, coin_changer.make_change, None, None)\n",
    "        self.assertEqual(coin_changer.make_change([], 0), 0)\n",
    "        self.assertEqual(coin_changer.make_change([1, 2, 3], 5), 2)\n",
    "        self.assertEqual(coin_changer.make_change([3, 2, 1], 5), 2)\n",
    "        self.assertEqual(coin_changer.make_change([3, 2, 1], 8), 3)\n",
    "        self.assertRaises(TypeError, coin_changer.make_change, None, None)\n",
    "        self.assertEqual(coin_changer.make_change([], 0), 0)\n",
    "        self.assertEqual(coin_changer.make_change([1, 2, 3], 5), 2)\n",
    "        self.assertEqual(coin_changer.make_change([3, 2, 1], 5), 2)\n",
    "        self.assertEqual(coin_changer.make_change([3, 2, 1], 8), 3)\n",
      "        print('Success: test_coin_change')\n",
      "\n",
      "\n",
      "def main():\n",
      "    test = TestCoinChange()\n",
keep keep keep keep replace replace replace replace replace keep keep keep keep keep
 #273: Remove nose dependency for recursion_dynamic/ (#280) 
recursion_dynamic/coin_change_min/coin_change_min_challenge.ipynb