Acknowledgement: Paul Cantrell created this lab. Thanks, Paul!
In this lab, you will practice:
- working with strings,
- more general object-oriented programmign patterns, and
- collaboration with many people!
I have created an abstract class called StringTransformer. You will create subclasses of it, which transform text in various amusing ways.
I’ve created two examples for you: Yeller, and IdentityTransformer. Take a look at those two classes, study how they work, and their junit tests, and try them out in the TransformerTestUI.
Fork this project!
Once you feel ready to create your own StringTransformer, head up to the front of the room, where I have brief specifications for a wide variety of transformers. Pick an appealing one, implement it, write tests for it, and try it in the UI. (I added some magic to the UI to detect all subclasses of StringTransformer. Once you’ve created your transformer, it should show up automatically)
Once it is working, commit and push! Because we are all sharing the same repository, you will see everybody else’s transformers when you pull. Having multiple people pushing and pulling from the same repository will create new problems, which you’ll have to work through.
Note that no two teams should work on the same specification!
Once you’ve completed your first transformer, send me a pull request. Then grab another spec — or make up one of your own!