### Question:
Versioned extends SVNState { public RevisionControlOperation[] operations() { return new RevisionControlOperation[]{CHECKIN, UPDATE, REVERT, STATUS}; } protected  Versioned(String state); RevisionControlOperation[] operations(); boolean isCheckedIn();  }### Answer:
@Test public void canPerformAddOperationIfStateIsUnknown() throws Exception { final RevisionControlOperation[] operations = SVNState.UNKNOWN.operations(); assertOperationCount(operations, 1, UNKNOWN); assertEquals(ADD, operations[0]); }
@Test public void canPerformCheckInUpdateRevertOperationsIfStateIsVersioned() throws Exception { final RevisionControlOperation[] operations = VERSIONED.operations(); assertOperationCount(operations, 4, VERSIONED); assertContains(operations, CHECKIN, UPDATE, REVERT, STATUS); }
@Test public void canPerformCheckInAndRevertOperationsIfStateIsDeleted() throws Exception { final RevisionControlOperation[] operations = SVNState.DELETED.operations(); assertOperationCount(operations, 3, DELETED); assertContains(operations, CHECKIN, REVERT, STATUS); }
@Test public void canPerformCheckInAndRevertOperationsIfStateIsAdded() throws Exception { final RevisionControlOperation[] operations = SVNState.ADDED.operations(); assertOperationCount(operations, 3, ADDED); assertContains(operations, CHECKIN, REVERT, STATUS); }