from nose.tools import eq_

from ..functions import reverts

def test_reverts():
	checksum_revisions = [
		("a", {'id': 1}),
		("b", {'id': 2}),
		("c", {'id': 3}),
		("a", {'id': 4}),
		("d", {'id': 5}),
		("b", {'id': 6}),
		("a", {'id': 7})
	]
	
	expected = [
		({'id': 4}, [{'id': 3}, {'id': 2}], {'id': 1}),
		({'id': 7}, [{'id': 6}, {'id': 5}], {'id': 4})
	]
	
	for revert in reverts(checksum_revisions, radius=2):
		eq_(revert, expected.pop(0))
	

