#ifndef __TestUndoStateDelta_H__
#define __TestUndoStateDelta_H__

typedef struct TestUndoStateDelta TestUndoStateDelta;
#define TestUndoStateDelta_superclass UndoStateDelta

#include "utilities/UndoStateDelta.h"

#define TestUndoStateDelta_ivars \
	UndoStateDelta_ivars \
	\
	unsigned int revertCallCount; \
	unsigned int applyCallCount; \
	unsigned int disposeCallCount; \
	void * lastTarget;

#define TestUndoStateDelta_vtable(self_type) \
	UndoStateDelta_vtable(self_type)

stemobject_declare(TestUndoStateDelta)

TestUndoStateDelta * TestUndoStateDelta_create(void);
bool TestUndoStateDelta_init(TestUndoStateDelta * self);
void TestUndoStateDelta_dispose(TestUndoStateDelta * self);
void TestUndoStateDelta_revert(TestUndoStateDelta * self, void * target);
void TestUndoStateDelta_apply(TestUndoStateDelta * self, void * target);

#endif
