public void testUndoDeleteCls() { Cls clsA = createCls(); Cls clsB = createCls(); Cls clsA1 = createCls(clsA); Cls clsB1 = createCls(clsB); Cls clsAB2 = createCls(clsA1); _frameStore.addDirectSuperclass(clsAB2, clsB1); Cls clsAB3 = createCls(clsAB2); int count = _frameStore.getFrames().size(); _frameStore.deleteCls(clsAB3); int newCount = _frameStore.getFrames().size(); assertEquals("first count", count - 1, newCount); _frameStore.undo(); newCount = _frameStore.getFrames().size(); assertEquals("second count", count, newCount); _frameStore.redo(); newCount = _frameStore.getFrames().size(); assertEquals("third count", count - 1, newCount); _frameStore.undo(); newCount = _frameStore.getFrames().size(); assertEquals("forth count", count, newCount); String clsAName = _frameStore.getFrameName(clsA); _frameStore.deleteCls(clsA1); _frameStore.deleteCls(clsA); newCount = _frameStore.getFrames().size(); assertEquals("fifth count", count - 2, newCount); _frameStore.undo(); _frameStore.undo(); newCount = _frameStore.getFrames().size(); assertEquals("sixth count", count, newCount); Frame frame = _frameStore.getFrame(clsAName); assertNotNull("clsA", frame); }