def test_edit_interactive(): """%edit on interactively defined objects""" ip = get_ipython() n = ip.execution_count ip.run_cell(u"def foo(): return 1", store_history=True) try: _run_edit_test("foo") except code.InteractivelyDefined as e: nt.assert_equal(e.index, n) else: nt.fail("Should have raised InteractivelyDefined")
def assert_big_text_equal(a, b, chunk_size=80): """assert that large strings are equal Zooms in on first chunk that differs, to give better info than vanilla assertEqual for large text blobs. """ for i in range(0, len(a), chunk_size): chunk_a = a[i : i + chunk_size] chunk_b = b[i : i + chunk_size] nt.assert_equal(chunk_a, chunk_b, "[offset: %i]\n%r != \n%r" % (i, chunk_a, chunk_b)) if len(a) > len(b): nt.fail("Length doesn't match (%i > %i). Extra text:\n%r" % (len(a), len(b), a[len(b) :])) elif len(a) < len(b): nt.fail("Length doesn't match (%i < %i). Extra text:\n%r" % (len(a), len(b), b[len(a) :]))
def assert_big_text_equal(a, b, chunk_size=80): """assert that large strings are equal Zooms in on first chunk that differs, to give better info than vanilla assertEqual for large text blobs. """ for i in range(0, len(a), chunk_size): chunk_a = a[i:i + chunk_size] chunk_b = b[i:i + chunk_size] nt.assert_equal(chunk_a, chunk_b, "[offset: %i]\n%r != \n%r" % (i, chunk_a, chunk_b)) if len(a) > len(b): nt.fail("Length doesn't match (%i > %i). Extra text:\n%r" % (len(a), len(b), a[len(b):])) elif len(a) < len(b): nt.fail("Length doesn't match (%i < %i). Extra text:\n%r" % (len(a), len(b), b[len(a):]))