def METHOD_NAME(self):
    content1 = 'value = 1\n'
    content2 = 'value = 2\n'
    a_pyx = os.path.join(self.src_dir, 'a.pyx')
    a_c = a_pyx[:-4] + '.c'
    open(a_pyx, 'w').write(content1)
    self.fresh_cythonize(a_pyx, cache=self.cache_dir)
    self.fresh_cythonize(a_pyx, cache=self.cache_dir)
    self.assertEqual(1, len(self.cache_files('a.c*')))
    a_contents1 = open(a_c).read()
    os.unlink(a_c)
    open(a_pyx, 'w').write(content2)
    self.fresh_cythonize(a_pyx, cache=self.cache_dir)
    a_contents2 = open(a_c).read()
    os.unlink(a_c)
    self.assertNotEqual(a_contents1, a_contents2, 'C file not changed!')
    self.assertEqual(2, len(self.cache_files('a.c*')))
    open(a_pyx, 'w').write(content1)
    self.fresh_cythonize(a_pyx, cache=self.cache_dir)
    self.assertEqual(2, len(self.cache_files('a.c*')))
    a_contents = open(a_c).read()
    self.assertEqual(
        a_contents, a_contents1,
        msg='\n'.join(list(difflib.unified_diff(
            a_contents.split('\n'), a_contents1.split('\n')))[:10]))