First of all you need to add JUnit library to your build path (which is already in lib folder). Then to src folder of your project add the reference and test packages. movieVault.file should be placed in your running directory (if in doubt you can just copy it all around the place). To start tests run SC class as Junit test (using Eclipse this will be the default run combination for that class). Your project 1 classes should be in database package directly in src. If at any point any of your functions calls System.exit(),remove that call - it is incorrect to use it and you will lose points for that. There was a misunderstanding which resulted in some of you believing that DataManager.exit() should call System.exit() - it shouldn't, it is just supposed to erase from memory all indexes/files (but store them to disk) and that's all. By "erase" we mean that DataManager won't keep anymore any references to any files. If your code doesn't pass any of the tests you may find it useful to add printing stack traces to proper catch blocks (so it will be easier for you to deduce what may be wrong). It may happen that during running tests your code will enter infinite loop, then you will have to deal with that accordingly (in Eclipse, in JUnit pane you can see which test takes too much time to run). If any test takes more than 1 minute you should start to worry, even if it finally passes there is a high chance you did something wrong (e.g. you do in quadratic time something that can be done in logarithmic time). If, when grading, any of your tests will run for over 2 minutes it will be assumed that it failed (the longest one - UniqueRemove() shouldn't take more than 20 seconds). Unfortunately , due to time limits, those tests don't cover everything and all possible usages, but they certainly do check most important aspects of the projects, and do it quite rigorously. Apart from running the tests we will check some parts of your code personally. If your index iterator will traverse whole file (instead of only applicable part of B+-tree) you will lose a lot of points for it (that also means traversing whole file when creating an iterator). If, for your index iterator, you prepare a table of records it should go over and then only go through that table it is wrong too, and some points for that will be deducted (iterator needs to use the tree for traversal. Yet (because of possible duplicate entries) it is advisable to maintain for each leaf in the tree a reference to the leaf following it - and for the sake of remove() it's good to also have reference to the preceding leaf). Additionally you may lose some points for things like: providing many packages at top level, naming classes incorrectly (Java is case sensitive), changing signatures of methods that you are asked to provide, submitting non-compiling code etc. Those things are either clearly stated in the project description or are just reasonable assumptions that every programmer should follow. In an improbable scenario, that you will find that any of the tests is incorrect or not conformant to the project specification, contact us about it. Your projects will be tested on Windows. Everything that you save to disk should be saved in the current directory or its sub-directories.