414 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			414 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			Python
		
	
	
	
| from py.impl.cmdline.pyconvert_unittest import rewrite_utest
 | |
| 
 | |
| 
 | |
| class Test_UTestConvert:
 | |
|     def testall(self):
 | |
|         assert rewrite_utest("badger badger badger") == (
 | |
|                           "badger badger badger")
 | |
| 
 | |
|         assert rewrite_utest(
 | |
|             "self.assertRaises(excClass, callableObj, *args, **kwargs)"
 | |
|             ) == (
 | |
|             "raises(excClass, callableObj, *args, **kwargs)"
 | |
|                           )
 | |
| 
 | |
|         assert rewrite_utest(
 | |
|             """
 | |
|             self.failUnlessRaises(TypeError, func, 42, **{'arg1': 23})
 | |
|             """
 | |
|             ) == (
 | |
|             """
 | |
|             raises(TypeError, func, 42, **{'arg1': 23})
 | |
|             """
 | |
|                           )
 | |
|         assert rewrite_utest(
 | |
|             """
 | |
|             self.assertRaises(TypeError,
 | |
|                               func,
 | |
|                               mushroom)
 | |
|             """
 | |
|             ) == (
 | |
|             """
 | |
|             raises(TypeError,
 | |
|                               func,
 | |
|                               mushroom)
 | |
|             """
 | |
|                           )
 | |
|         assert rewrite_utest("self.fail()") == "raise AssertionError"
 | |
|         assert rewrite_utest("self.fail('mushroom, mushroom')") == (
 | |
|                           "raise AssertionError, 'mushroom, mushroom'")
 | |
|         assert rewrite_utest("self.assert_(x)") == "assert x"
 | |
|         assert rewrite_utest("self.failUnless(func(x)) # XXX") == (
 | |
|                           "assert func(x) # XXX")
 | |
|         
 | |
|         assert rewrite_utest(
 | |
|             """
 | |
|             self.assert_(1 + f(y)
 | |
|                          + z) # multiline, keep parentheses
 | |
|             """
 | |
|             ) == (
 | |
|             """
 | |
|             assert (1 + f(y)
 | |
|                          + z) # multiline, keep parentheses
 | |
|             """
 | |
|                           )
 | |
| 
 | |
|         assert rewrite_utest("self.assert_(0, 'badger badger')") == (
 | |
|                           "assert 0, 'badger badger'")
 | |
| 
 | |
|         assert rewrite_utest("self.assert_(0, '''badger badger''')") == (
 | |
|                           "assert 0, '''badger badger'''")
 | |
| 
 | |
|         assert rewrite_utest(
 | |
|             r"""
 | |
|             self.assert_(0,
 | |
|                  'Meet the badger.\n')
 | |
|             """
 | |
|             ) == (
 | |
|             r"""
 | |
|             assert 0, (
 | |
|                  'Meet the badger.\n')
 | |
|             """
 | |
|                           )
 | |
|         
 | |
|         assert rewrite_utest(
 | |
|             r"""
 | |
|             self.failIf(0 + 0
 | |
|                           + len('badger\n')
 | |
|                           + 0, '''badger badger badger badger
 | |
|                                  mushroom mushroom
 | |
|                                  Snake!  Ooh a snake!
 | |
|                               ''') # multiline, must move the parens
 | |
|             """
 | |
|             ) == (
 | |
|             r"""
 | |
|             assert not (0 + 0
 | |
|                           + len('badger\n')
 | |
|                           + 0), '''badger badger badger badger
 | |
|                                  mushroom mushroom
 | |
|                                  Snake!  Ooh a snake!
 | |
|                               ''' # multiline, must move the parens
 | |
|             """
 | |
|                           )
 | |
| 
 | |
|         assert rewrite_utest("self.assertEquals(0, 0)") == (
 | |
|                           "assert 0 == 0")
 | |
|         
 | |
|         assert rewrite_utest(
 | |
|             r"""
 | |
|             self.assertEquals(0,
 | |
|                  'Run away from the snake.\n')
 | |
|             """
 | |
|             ) == (
 | |
|             r"""
 | |
|             assert 0 == (
 | |
|                  'Run away from the snake.\n')
 | |
|             """
 | |
|                           )
 | |
| 
 | |
|         assert rewrite_utest(
 | |
|             """
 | |
|             self.assertEquals(badger + 0
 | |
|                               + mushroom
 | |
|                               + snake, 0)
 | |
|             """
 | |
|             ) == (
 | |
|             """
 | |
|             assert (badger + 0
 | |
|                               + mushroom
 | |
|                               + snake) == 0
 | |
|             """
 | |
|                           )
 | |
|                             
 | |
|         assert rewrite_utest(
 | |
|             """
 | |
|             self.assertNotEquals(badger + 0
 | |
|                               + mushroom
 | |
|                               + snake,
 | |
|                               mushroom
 | |
|                               - badger)
 | |
|             """
 | |
|             ) == (
 | |
|             """
 | |
|             assert (badger + 0
 | |
|                               + mushroom
 | |
|                               + snake) != (
 | |
|                               mushroom
 | |
|                               - badger)
 | |
|             """
 | |
|                           )
 | |
| 
 | |
|         assert rewrite_utest(
 | |
|             """
 | |
|             self.assertEquals(badger(),
 | |
|                               mushroom()
 | |
|                               + snake(mushroom)
 | |
|                               - badger())
 | |
|             """
 | |
|             ) == (
 | |
|             """
 | |
|             assert badger() == (
 | |
|                               mushroom()
 | |
|                               + snake(mushroom)
 | |
|                               - badger())
 | |
|             """
 | |
|                          )
 | |
|         assert rewrite_utest("self.failIfEqual(0, 0)") == (
 | |
|                           "assert not 0 == 0")
 | |
| 
 | |
|         assert rewrite_utest("self.failUnlessEqual(0, 0)") == (
 | |
|                           "assert 0 == 0")
 | |
| 
 | |
|         assert rewrite_utest(
 | |
|             """
 | |
|             self.failUnlessEqual(mushroom()
 | |
|                                  + mushroom()
 | |
|                                  + mushroom(), '''badger badger badger
 | |
|                                  badger badger badger badger
 | |
|                                  badger badger badger badger
 | |
|                                  ''') # multiline, must move the parens
 | |
|             """
 | |
|             ) == (
 | |
|             """
 | |
|             assert (mushroom()
 | |
|                                  + mushroom()
 | |
|                                  + mushroom()) == '''badger badger badger
 | |
|                                  badger badger badger badger
 | |
|                                  badger badger badger badger
 | |
|                                  ''' # multiline, must move the parens
 | |
|             """
 | |
|                           )
 | |
| 
 | |
|                                    
 | |
|         assert rewrite_utest(
 | |
|             """
 | |
|             self.assertEquals('''snake snake snake
 | |
|                                  snake snake snake''', mushroom)
 | |
|             """
 | |
|             ) == (
 | |
|             """
 | |
|             assert '''snake snake snake
 | |
|                                  snake snake snake''' == mushroom
 | |
|             """
 | |
|                           )
 | |
|         
 | |
|         assert rewrite_utest(
 | |
|             """
 | |
|             self.assertEquals(badger(),
 | |
|                               snake(), 'BAD BADGER')
 | |
|             """
 | |
|             ) == (
 | |
|             """
 | |
|             assert badger() == (
 | |
|                               snake()), 'BAD BADGER'
 | |
|             """
 | |
|                           )
 | |
|         
 | |
|         assert rewrite_utest(
 | |
|             """
 | |
|             self.assertNotEquals(badger(),
 | |
|                               snake()+
 | |
|                               snake(), 'POISONOUS MUSHROOM!\
 | |
|                               Ai! I ate a POISONOUS MUSHROOM!!')
 | |
|             """
 | |
|             ) == (
 | |
|             """
 | |
|             assert badger() != (
 | |
|                               snake()+
 | |
|                               snake()), 'POISONOUS MUSHROOM!\
 | |
|                               Ai! I ate a POISONOUS MUSHROOM!!'
 | |
|             """
 | |
|                           )
 | |
| 
 | |
|         assert rewrite_utest(
 | |
|             """
 | |
|             self.assertEquals(badger(),
 | |
|                               snake(), '''BAD BADGER
 | |
|                               BAD BADGER
 | |
|                               BAD BADGER'''
 | |
|                               )
 | |
|             """
 | |
|             ) == (
 | |
|             """
 | |
|             assert badger() == (
 | |
|                               snake()), ( '''BAD BADGER
 | |
|                               BAD BADGER
 | |
|                               BAD BADGER'''
 | |
|                               )
 | |
|             """
 | |
|                         )
 | |
| 
 | |
|         assert rewrite_utest(
 | |
|             """
 | |
|             self.assertEquals('''BAD BADGER
 | |
|                               BAD BADGER
 | |
|                               BAD BADGER''', '''BAD BADGER
 | |
|                               BAD BADGER
 | |
|                               BAD BADGER''')
 | |
|             """
 | |
|             ) == (
 | |
|             """
 | |
|             assert '''BAD BADGER
 | |
|                               BAD BADGER
 | |
|                               BAD BADGER''' == '''BAD BADGER
 | |
|                               BAD BADGER
 | |
|                               BAD BADGER'''
 | |
|             """
 | |
|                         )
 | |
| 
 | |
|         assert rewrite_utest(
 | |
|             """
 | |
|             self.assertEquals('''GOOD MUSHROOM
 | |
|                               GOOD MUSHROOM
 | |
|                               GOOD MUSHROOM''',
 | |
|                               '''GOOD MUSHROOM
 | |
|                               GOOD MUSHROOM
 | |
|                               GOOD MUSHROOM''',
 | |
|                               ''' FAILURE
 | |
|                               FAILURE
 | |
|                               FAILURE''')
 | |
|             """
 | |
|             ) == (
 | |
|             """
 | |
|             assert '''GOOD MUSHROOM
 | |
|                               GOOD MUSHROOM
 | |
|                               GOOD MUSHROOM''' == (
 | |
|                               '''GOOD MUSHROOM
 | |
|                               GOOD MUSHROOM
 | |
|                               GOOD MUSHROOM'''), (
 | |
|                               ''' FAILURE
 | |
|                               FAILURE
 | |
|                               FAILURE''')
 | |
|             """
 | |
|                         )
 | |
| 
 | |
|         assert rewrite_utest(
 | |
|             """
 | |
|             self.assertAlmostEquals(first, second, 5, 'A Snake!')
 | |
|             """
 | |
|             ) == (
 | |
|             """
 | |
|             assert round(first - second, 5) == 0, 'A Snake!'
 | |
|             """
 | |
|                           )
 | |
| 
 | |
|         assert rewrite_utest(
 | |
|             """
 | |
|             self.assertAlmostEquals(first, second, 120)
 | |
|             """
 | |
|             ) == (
 | |
|             """
 | |
|             assert round(first - second, 120) == 0
 | |
|             """
 | |
|                           )
 | |
| 
 | |
|         assert rewrite_utest(
 | |
|             """
 | |
|             self.assertAlmostEquals(first, second)
 | |
|             """
 | |
|             ) == (
 | |
|             """
 | |
|             assert round(first - second, 7) == 0
 | |
|             """
 | |
|                           )
 | |
| 
 | |
|         assert rewrite_utest(
 | |
|             """
 | |
|             self.assertAlmostEqual(first, second, 5, '''A Snake!
 | |
|             Ohh A Snake!  A Snake!!
 | |
|             ''')
 | |
|             """
 | |
|             ) == (
 | |
|             """
 | |
|             assert round(first - second, 5) == 0, '''A Snake!
 | |
|             Ohh A Snake!  A Snake!!
 | |
|             '''
 | |
|             """
 | |
|                           )
 | |
| 
 | |
|         assert rewrite_utest(
 | |
|             """
 | |
|             self.assertNotAlmostEqual(first, second, 5, 'A Snake!')
 | |
|             """
 | |
|             ) == (
 | |
|             """
 | |
|             assert round(first - second, 5) != 0, 'A Snake!'
 | |
|             """
 | |
|                           )
 | |
| 
 | |
|         assert rewrite_utest(
 | |
|             """
 | |
|             self.failIfAlmostEqual(first, second, 5, 'A Snake!')
 | |
|             """
 | |
|             ) == (
 | |
|             """
 | |
|             assert not round(first - second, 5) == 0, 'A Snake!'
 | |
|             """
 | |
|                           )
 | |
| 
 | |
|         assert rewrite_utest(
 | |
|             """
 | |
|             self.failIfAlmostEqual(first, second, 5, 6, 7, 'Too Many Args')
 | |
|             """
 | |
|             ) == (
 | |
|             """
 | |
|             self.failIfAlmostEqual(first, second, 5, 6, 7, 'Too Many Args')
 | |
|             """
 | |
|                           )
 | |
| 
 | |
|         assert rewrite_utest(
 | |
|             """
 | |
|             self.failUnlessAlmostEquals(first, second, 5, 'A Snake!')
 | |
|             """
 | |
|             ) == (
 | |
|             """
 | |
|             assert round(first - second, 5) == 0, 'A Snake!'
 | |
|             """
 | |
|                           )
 | |
| 
 | |
|         assert rewrite_utest(
 | |
|             """
 | |
|               self.assertAlmostEquals(now do something reasonable ..()
 | |
|             oops, I am inside a comment as a ''' string, and the fname was
 | |
|             mentioned in passing, leaving us with something that isn't an
 | |
|             expression ... will this blow up?
 | |
|             """
 | |
|             ) == (
 | |
|             """
 | |
|               self.assertAlmostEquals(now do something reasonable ..()
 | |
|             oops, I am inside a comment as a ''' string, and the fname was
 | |
|             mentioned in passing, leaving us with something that isn't an
 | |
|             expression ... will this blow up?
 | |
|             """
 | |
|                           )
 | |
|         
 | |
|         assert rewrite_utest(
 | |
|             """
 | |
|         self.failUnless('__builtin__' in modules, "An entry for __builtin__ "
 | |
|                                                     "is not in sys.modules.")
 | |
|             """
 | |
|             ) == (
 | |
|             """
 | |
|         assert '__builtin__' in modules, ( "An entry for __builtin__ "
 | |
|                                                     "is not in sys.modules.")
 | |
|             """
 | |
|                            )
 | |
|         
 | |
|         # two unittests on the same line separated by a semi-colon is
 | |
|         # only half-converted.  Just so you know.
 | |
|         assert rewrite_utest(
 | |
|             """
 | |
|             self.assertEquals(0, 0); self.assertEquals(1, 1) #not 2 per line!
 | |
|             """
 | |
|             ) == (
 | |
|             """
 | |
|             assert 0 == 0; self.assertEquals(1, 1) #not 2 per line!
 | |
|             """
 | |
|                            )
 | |
|             
 | |
|                               
 | |
| if __name__ == '__main__':
 | |
|     unittest.main()
 | |
| 
 | |
| 
 |