Allow ReadTreeTest to test arbitrary Checkouts
commit4be88168b69465ccb81a44ddcc614b0e60d7956d
authorChristian Halstrick <christian.halstrick@sap.com>
Thu, 1 Jul 2010 16:02:00 +0000 (1 18:02 +0200)
committerChristian Halstrick <christian.halstrick@sap.com>
Thu, 8 Jul 2010 23:38:49 +0000 (9 01:38 +0200)
tree5b8d69915dbacf6d200a18783e5e8b38e287543a
parent354b90131aa60f03f087e5b30f52d80044ca9b53
Allow ReadTreeTest to test arbitrary Checkouts

ReadTreeTest was hardcoded to test WorkDirCheckout. Since we want
alternative checkout implementations (especially DirCacheCheckout)
this class has been refactored so that the tests can be reused
to test other implementations

The following changes have been done:
- abstract methods for checkout and prescanTwoTrees have been
  introduced. Parameters are only the two trees. As index we
  will implicitly use the current index of the repo.
- whenever tests needed a manipulated index before checkout
  and prescanTwoTrees it was ensured that the correct index was
  persisted (before we could use not-persisted instantiations of GitIndex
  passed as parameters to checkout, prescanTwoTrees
- abstract methods for getting updated, conflicting, removed entries
  resulting from the last checkout, prescanTwoTrees have been introduced
- an implementation for all these abstract methods using WorkDirCheckout
  has been added
- method to assert a certain state of the index and the working tree has
  been added

Signed-off-by: Christian Halstrick <christian.halstrick@sap.com>
Change-Id:  Icf177cf8043487169a32ddd72b6f8f9246a433f7
org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ReadTreeTest.java
org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/WorkDirCheckout_ReadTreeTest.java [new file with mode: 0644]