def METHOD_NAME(self):
    getline = linecache.getline
    # Bad values for line number should return an empty string
    self.assertEqual(getline(FILENAME, 2**15), EMPTY)
    self.assertEqual(getline(FILENAME, -1), EMPTY)
    # Float values currently raise TypeError, should it?
    self.assertRaises(TypeError, getline, FILENAME, 1.1)
    # Bad filenames should return an empty string
    self.assertEqual(getline(EMPTY, 1), EMPTY)
    self.assertEqual(getline(INVALID_NAME, 1), EMPTY)
    # Check whether lines correspond to those from file iteration
    for entry in TESTS:
        filename = os.path.join(TEST_PATH, entry) + '.py'
        for index, line in enumerate(open(filename)):
            self.assertEqual(line, getline(filename, index + 1))
    # Check module loading
    for entry in MODULES:
        filename = os.path.join(MODULE_PATH, entry) + '.py'
        for index, line in enumerate(open(filename)):
            self.assertEqual(line, getline(filename, index + 1))
    # Check that bogus data isn't returned (issue #1309567)
    empty = linecache.getlines('a/b/c/__init__.py')
    self.assertEqual(empty, [])