diff --git a/src/edu/macalester/comp124/stringtransformer/Piratizer.java b/src/edu/macalester/comp124/stringtransformer/Piratizer.java new file mode 100644 index 0000000..e86ab52 --- /dev/null +++ b/src/edu/macalester/comp124/stringtransformer/Piratizer.java @@ -0,0 +1,50 @@ +package edu.macalester.comp124.stringtransformer; + +import acm.util.RandomGenerator; + +import java.util.Random; + +/** + * Created by rberman on 2/27/14. + * + * + */ +public class Piratizer extends StringTransformer { + @Override + public String transform(String s) { + String finalS = ""; + for (int i = 0; i < s.length(); i++) { + if (s.charAt(i) == 'r') { + finalS += "rr"; + } + finalS += s.charAt(i); + if (s.charAt(i) == '.') { + int rand = randomArr(); + if (rand == 1) { + finalS += "Arrrrr!"; + } + if (rand == 2) { + finalS += "Ahoy!"; + } + } + } + return finalS; + } + + @Override + public String toString() { + return "Piratizer"; + } + + public int randomArr(){ + Random generator = new Random(); + int a = generator.nextInt(8); + return a; + } + +} + + +/* +All rs are changed to rrrs. 25% of sentences end with a random choice between Arrrrr! and Ahoy!. + */ \ No newline at end of file diff --git a/test/edu/macalester/comp124/stringtransformer/PiratizerTest.java b/test/edu/macalester/comp124/stringtransformer/PiratizerTest.java new file mode 100644 index 0000000..9e7fb9d --- /dev/null +++ b/test/edu/macalester/comp124/stringtransformer/PiratizerTest.java @@ -0,0 +1,23 @@ +package edu.macalester.comp124.stringtransformer; + +import org.junit.Test; +import static junit.framework.Assert.assertEquals; + +/** + * Created by rberman on 2/27/14. + */ +public class PiratizerTest { + private final StringTransformer piratizer = new Piratizer(); + + @Test + public void handlesEmptyString() { + assertEquals("", piratizer.transform("")); + } + + @Test + public void noSingleR() { + assertEquals("rrr", piratizer.transform("r")); + assertEquals("rrrobot", piratizer.transform("robot")); + } + +}