@@ -101,6 +101,7 @@ public void shouldRunThroughFullMigrationUseCaseInOneTestToEnsureOrder() throws
101101 testHelpCommand (f );
102102 testDoScriptCommand (f );
103103 testUndoScriptCommand (f );
104+ testScriptCommandWithTheSameVersion (f );
104105
105106 } catch (Throwable t ) {
106107 System .err .println (buffer );
@@ -188,12 +189,23 @@ private void testDoScriptCommand(File f) throws Exception {
188189 assertFalse (buffer .toString ().contains ("FAILURE" ));
189190 assertFalse (buffer .toString ().contains ("20080827200210" ));
190191 assertFalse (buffer .toString ().contains ("20080827200211" ));
191- assertTrue (buffer .toString ().contains ("20080827200212" ));
192+ assertFalse (buffer .toString ().contains ("20080827200212" ));
192193 assertTrue (buffer .toString ().contains ("20080827200213" ));
193194 assertTrue (buffer .toString ().contains ("20080827200214" ));
194195 assertFalse (buffer .toString ().contains ("20080827200215" ));
195196 assertFalse (buffer .toString ().contains ("-- @UNDO" ));
196197 buffer .clear ();
198+
199+ safeMigratorMain (args ("--path=" + f .getAbsolutePath (), "script" , "0" , "20080827200211" ));
200+ assertFalse (buffer .toString ().contains ("FAILURE" ));
201+ assertTrue (buffer .toString ().contains ("20080827200210" ));
202+ assertTrue (buffer .toString ().contains ("20080827200211" ));
203+ assertFalse (buffer .toString ().contains ("20080827200212" ));
204+ assertFalse (buffer .toString ().contains ("20080827200213" ));
205+ assertFalse (buffer .toString ().contains ("20080827200214" ));
206+ assertFalse (buffer .toString ().contains ("20080827200215" ));
207+ assertFalse (buffer .toString ().contains ("-- @UNDO" ));
208+ buffer .clear ();
197209 }
198210
199211 private void testUndoScriptCommand (File f ) throws Exception {
@@ -202,11 +214,28 @@ private void testUndoScriptCommand(File f) throws Exception {
202214 assertFalse (buffer .toString ().contains ("20080827200210" ));
203215 assertFalse (buffer .toString ().contains ("20080827200211" ));
204216 assertFalse (buffer .toString ().contains ("20080827200212" ));
205- assertTrue (buffer .toString ().contains ("20080827200213" ));
217+ assertFalse (buffer .toString ().contains ("20080827200213" ));
206218 assertTrue (buffer .toString ().contains ("20080827200214" ));
207219 assertTrue (buffer .toString ().contains ("20080827200215" ));
208220 assertTrue (buffer .toString ().contains ("-- @UNDO" ));
209221 buffer .clear ();
222+
223+ safeMigratorMain (args ("--path=" + f .getAbsolutePath (), "script" , "20080827200211" , "0" ));
224+ assertFalse (buffer .toString ().contains ("FAILURE" ));
225+ assertTrue (buffer .toString ().contains ("20080827200210" ));
226+ assertTrue (buffer .toString ().contains ("20080827200211" ));
227+ assertFalse (buffer .toString ().contains ("20080827200212" ));
228+ assertFalse (buffer .toString ().contains ("20080827200213" ));
229+ assertFalse (buffer .toString ().contains ("20080827200214" ));
230+ assertFalse (buffer .toString ().contains ("20080827200215" ));
231+ assertTrue (buffer .toString ().contains ("-- @UNDO" ));
232+ buffer .clear ();
233+ }
234+
235+ private void testScriptCommandWithTheSameVersion (File f ) throws Exception {
236+ safeMigratorMain (args ("--path=" + f .getAbsolutePath (), "script" , "20080827200211" , "20080827200211" ));
237+ assertTrue (buffer .toString ().contains ("FAILURE" ));
238+ buffer .clear ();
210239 }
211240
212241 private void safeMigratorMain (String [] args ) throws Exception {
0 commit comments