class A:
	def __init__ (self):
		self.i = 0
		
	def f (self):
		return self.i

a = A ()
		
def run (autoTester):
	x = 3
	y = 5
	z = x + y
	autoTester.check (z)
	
	l = [1, 2, 3]
	l [1] = l [2]
	autoTester.check (l)
	
	# Should generate x++
	x += 1
	autoTester.check (x)
	x += +1
	autoTester.check (x)
	x -= -1
	autoTester.check (x)
	
	# Should generate y--
	y -= 1
	autoTester.check (y)
	y -= +1
	autoTester.check (y)
	y += -1
	autoTester.check (y)
	
	x += -3
	autoTester.check (x)
	
	x += 6
	autoTester.check (x)
	
	y -= 3
	autoTester.check (y)
	
	l [1] += l [1]
	autoTester.check (l)
	
	x += y
	y += x
	
	autoTester.check (x, y)
	
	f = a.f
	
	a.i += 1
	autoTester.check (f ())
	
	a.i += 10
	autoTester.check (f ())
	
	a.i += a.i
	autoTester.check (f ())
