←Older revision | Revision as of 18:39, 22 October 2008 | ||
Line 44: | Line 44: | ||
or by pressing F6 in the [[NetBeans]] IDE, your test is compiled, executed against ''taskA'' and it has to succeed. If it does, the test is executed against ''taskB'' library. If it fails, you have demonstrated [[BackwardCompatibility]] problem and that is why the build succeeds. '''Make sure you open the Output Window''' to see the real resul! There is also the '''JUnit Result Window''' and it is not really helpful in the '''against''' project, but I do not know how to suppress its appearance. If the test succeeds with ''taskB'' library, the sources of your test are compiled once again against ''taskB'' library. This can fail, if there are source incompatibilities. Failure means your success, as you have demonstrated an incompatibility! To see result of these steps in action, look at my [http://source.apidesign.org/hg/apifest08/rev/e8b0f13fd4fb attack against solution02] (I can show it as it did not advanced into this [[APIFest08:TaskX|final task]] and you cannot be awarded with points by finding problems in it). If you managed to attack one solution, perfect, you can repeat these steps for another one. | or by pressing F6 in the [[NetBeans]] IDE, your test is compiled, executed against ''taskA'' and it has to succeed. If it does, the test is executed against ''taskB'' library. If it fails, you have demonstrated [[BackwardCompatibility]] problem and that is why the build succeeds. '''Make sure you open the Output Window''' to see the real resul! There is also the '''JUnit Result Window''' and it is not really helpful in the '''against''' project, but I do not know how to suppress its appearance. If the test succeeds with ''taskB'' library, the sources of your test are compiled once again against ''taskB'' library. This can fail, if there are source incompatibilities. Failure means your success, as you have demonstrated an incompatibility! To see result of these steps in action, look at my [http://source.apidesign.org/hg/apifest08/rev/e8b0f13fd4fb attack against solution02] (I can show it as it did not advanced into this [[APIFest08:TaskX|final task]] and you cannot be awarded with points by finding problems in it). If you managed to attack one solution, perfect, you can repeat these steps for another one. | ||
- | The rules for writing compatibility tests are similar to [http://openide.netbeans.org/tutorial/api-fest.html API Fest One] - e.g. the less '''tricks''' you use the better. Where trick means more or less Java Permission. Do not try to use reflection that could obviously break each solution. Also do not use wildcard imports in source, that can easily break each solution as well. Rules are simple: ''less tricks is better'' and ''[[User:JaroslavTulach|I]] am the judge''. Enjoy! | + | The rules for writing compatibility tests are similar to [http://openide.netbeans.org/tutorial/api-fest.html API Fest One] - e.g. the less '''tricks''' you use the better. Where trick means more or less Java Permission. Do not try to use reflection that could obviously break each solution. Also do not use wildcard imports in source, that can easily break each solution as well. Do not put the code into the API package, that would allow you to use package private methods and would be unfair. Rules are simple: ''less tricks is better'' and ''[[User:JaroslavTulach|I]] am the judge''. Enjoy! |
After you are done, please generate the diff using ''hg diff'' and submit your solutions by Sun, Oct 26, 2008, morning of CET to [mailto:apifest08@apidesign.org our mailing list]. Possibly you can ZIP your sources and send them to us too. As soon as we process your submissions, I'll write an [[APIFest08]] report and announce winners. Also I will prepare [[TheAPIBook]] for the winner. | After you are done, please generate the diff using ''hg diff'' and submit your solutions by Sun, Oct 26, 2008, morning of CET to [mailto:apifest08@apidesign.org our mailing list]. Possibly you can ZIP your sources and send them to us too. As soon as we process your submissions, I'll write an [[APIFest08]] report and announce winners. Also I will prepare [[TheAPIBook]] for the winner. |