// Path: src/main/java/org/kew/rmf/transformers/Transformer.java
// public interface Transformer {
// 	/**
// 	 * Transform <code>s</code> into another String.
// 	 * @param s	The string to transform
// 	 * @return	The transformed string
// 	 * @throws TransformationException	 If there is a problem with the transformer, e.g. unable to load external resource.
// 	 */
// 	public String transform(String s) throws TransformationException;
// }
// 
// Path: src/main/java/org/kew/rmf/transformers/authors/ShrunkPubAuthors.java
// public class ShrunkPubAuthors implements Transformer {
// 
// 	private ShrunkAuthors shrunkAuthors = new ShrunkAuthors();
// 	private CleanedPubAuthors cleanedPubAuthors = new CleanedPubAuthors();
// 
// 	@Override
// 	public String transform(String s) {
// 		s = cleanedPubAuthors.transform(s);
// 		s = shrunkAuthors.transform(s);
// 		return s;
// 	}
// 
// 	public Integer getShrinkTo() {
// 		return shrunkAuthors.getShrinkTo();
// 	}
// 	public void setShrinkTo(int shrinkTo) {
// 		shrunkAuthors.setShrinkTo(shrinkTo);
// 	}
// }


import static org.junit.Assert.assertEquals;
import org.junit.Test;
import org.kew.rmf.transformers.Transformer;
import org.kew.rmf.transformers.authors.ShrunkPubAuthors;
    }

    @Test
    public void shrinkEmSmaller() {
        ShrunkPubAuthors transformer = new ShrunkPubAuthors();
        String author = "(A.B.Cyclus ex D.E. Fincus) G.H. Ictus.f.";
        assertEquals("ictus", transformer.transform(author));
        transformer.setShrinkTo(3);
        assertEquals("ict", transformer.transform(author));
    }

    @Test
    public void weirdCasesByRachel() {
        ShrunkPubAuthors transformer = new ShrunkPubAuthors();
        transformer.setShrinkTo(3);
        String author = "Bob,       Tony & John in Smith";
        assertEquals("bob ton joh", transformer.transform(author));
        author = "A.DC.";
        assertEquals("dc", transformer.transform(author));
        author = "Ă.Löve & D.Löve";
        assertEquals("lov lov", transformer.transform(author));
        author = "Benth.) Verdc.";
        assertEquals("ben ver", transformer.transform(author));
        author = "F.jr. ex Hook.f.";
        assertEquals("hoo", transformer.transform(author));
    }

    @Test
    public void hyphenProblems() {
        ShrunkPubAuthors transformer = new ShrunkPubAuthors();
// Path: src/main/java/org/kew/rmf/transformers/Transformer.java
// public interface Transformer {
// 	/**
// 	 * Transform <code>s</code> into another String.
// 	 * @param s	The string to transform
// 	 * @return	The transformed string
// 	 * @throws TransformationException	 If there is a problem with the transformer, e.g. unable to load external resource.
// 	 */
// 	public String transform(String s) throws TransformationException;
// }
// 
// Path: src/main/java/org/kew/rmf/transformers/authors/ShrunkPubAuthors.java
// public class ShrunkPubAuthors implements Transformer {
// 
// 	private ShrunkAuthors shrunkAuthors = new ShrunkAuthors();
// 	private CleanedPubAuthors cleanedPubAuthors = new CleanedPubAuthors();
// 
// 	@Override
// 	public String transform(String s) {
// 		s = cleanedPubAuthors.transform(s);
// 		s = shrunkAuthors.transform(s);
// 		return s;
// 	}
// 
// 	public Integer getShrinkTo() {
// 		return shrunkAuthors.getShrinkTo();
// 	}
// 	public void setShrinkTo(int shrinkTo) {
// 		shrunkAuthors.setShrinkTo(shrinkTo);
// 	}
// }


// Path: src/test/java/org/kew/rmf/transformers/authors/ShrunkPubAuthorsTest.java
import static org.junit.Assert.assertEquals;
import org.junit.Test;
import org.kew.rmf.transformers.Transformer;
import org.kew.rmf.transformers.authors.ShrunkPubAuthors;

    }

    @Test
    public void shrinkEmSmaller() {
        ShrunkPubAuthors transformer = new ShrunkPubAuthors();
        String author = "(A.B.Cyclus ex D.E. Fincus) G.H. Ictus.f.";
        assertEquals("ictus", transformer.transform(author));
        transformer.setShrinkTo(3);
        assertEquals("ict", transformer.transform(author));
    }

    @Test
    public void weirdCasesByRachel() {
        ShrunkPubAuthors transformer = new ShrunkPubAuthors();
        transformer.setShrinkTo(3);
        String author = "Bob,       Tony & John in Smith";
        assertEquals("bob ton joh", transformer.transform(author));
        author = "A.DC.";
        assertEquals("dc", transformer.transform(author));
        author = "Ă.Löve & D.Löve";
        assertEquals("lov lov", transformer.transform(author));
        author = "Benth.) Verdc.";
        assertEquals("ben ver", transformer.transform(author));
        author = "F.jr. ex Hook.f.";
        assertEquals("hoo", transformer.transform(author));
    }

    @Test
    public void hyphenProblems() {
        ShrunkPubAuthors transformer = new ShrunkPubAuthors();
        transformer.setShrinkTo(3);