Code Duplication    Length = 17-23 lines in 2 locations

didyoumean/didyoumean_sugg_tests.py 2 locations

@@ 1042-1064 (lines=23) @@
1039
        self.runs(code_str, from_version(version1))
1040
        self.runs(code_str2, from_version(version1))
1041
        self.runs(code_str3, from_version(version1))
1042
1043
    def test_moved_between_imp_importlib(self):
1044
        """Some methods have been moved from imp to importlib."""
1045
        # NICE_TO_HAVE
1046
        # reload removed from Python 3
1047
        # importlib module new in Python 2.7
1048
        # importlib.reload new in Python 3.4
1049
        # imp.reload new in Python 3.2
1050
        version27 = (2, 7)
1051
        version3 = (3, 0)
1052
        version26 = up_to_version(version27)
1053
        code = '{0}reload(math)'
1054
        null, code_imp, code_importlib = format_str(
1055
            code, '', 'import imp\nimp.', 'import importlib\nimportlib.')
1056
        self.runs(null, up_to_version(version3))
1057
        self.throws(null, NAMEERROR,
1058
                    RELOAD_REMOVED_MSG, from_version(version3))
1059
        self.runs(code_imp)
1060
        self.throws(code_importlib, NOMODULE, [], version26)
1061
        self.throws(code_importlib, ATTRIBUTEERROR,
1062
                    "'reload(module)'", (version27, version3))
1063
        self.throws(code_importlib, ATTRIBUTEERROR,
1064
                    [], (version3, (3, 4)))
1065
        self.runs(code_importlib, from_version((3, 4)))
1066
1067
    def test_join(self):
@@ 1473-1489 (lines=17) @@
1470
        for code in self.RANGE_CODE_TEMPLATES:
1471
            bad_code, good_code = format_str(code, '"12"', 'int("12")')
1472
            self.runs(good_code)
1473
            self.throws(bad_code, INTEXPECTED, [], up_to_version(v3))
1474
            self.throws(bad_code, CANNOTBEINTERPRETED, [], from_version(v3))
1475
1476
    def test_float_cannot_be_interpreted_as_int(self):
1477
        """Use float instead of int."""
1478
        # NICE_TO_HAVE
1479
        v27 = (2, 7)
1480
        v3 = (3, 0)
1481
        for code in self.RANGE_CODE_TEMPLATES:
1482
            full_code = 'import math\n' + code
1483
            good1, good2, bad = format_str(
1484
                full_code, 'int(12.0)', 'math.floor(12.0)', '12.0')
1485
            self.runs(good1)
1486
            self.runs(good2, up_to_version(v27))
1487
            # floor returns a float before Python 3 -_-
1488
            self.throws(good2, INTEXPECTED, [], (v27, v3))
1489
            self.runs(good2, from_version(v3))
1490
            self.runs(bad, up_to_version(v27))
1491
            self.throws(bad, INTEXPECTED, [], (v27, v3))
1492
            self.throws(bad, CANNOTBEINTERPRETED, [], from_version(v3))