// Path: src/main/java/uk/co/compendiumdev/javafortesters/domain/counterstrings/Creators/CounterStringCreator.java
// public interface CounterStringCreator {
//     void append(String nextPart);
//     void finished();
// }
// 
// Path: src/main/java/uk/co/compendiumdev/javafortesters/domain/counterstrings/Creators/StringCounterStringCreator.java
// public class StringCounterStringCreator implements CounterStringCreator {
// 
//     private final StringBuilder string;
// 
//     public StringCounterStringCreator(){
//         string = new StringBuilder();
// 
//     }
// 
//     @Override
//     public void append(String nextPart) {
//         string.append(nextPart);
//     }
// 
//     @Override
//     public void finished() {
//         // string is ready to output now
//     }
// 
//     @Override
//     public String toString() {
//         return string.toString();
//     }
// }
// 
// Path: src/main/java/uk/co/compendiumdev/javafortesters/domain/counterstrings/Creators/SystemOutCounterStringCreator.java
// public class SystemOutCounterStringCreator implements CounterStringCreator {
// 
//     private final StringBuilder string;
// 
//     public SystemOutCounterStringCreator(){
//         string = new StringBuilder();
//     }
//     @Override
//     public void append(String nextPart) {
//         string.append(nextPart);
//     }
// 
//     @Override
//     public void finished() {
//         System.out.print(string.toString());
//     }
// 
//     @Override
//     public String toString() {
//         return string.toString();
//     }
// 
// 
// }


import org.junit.Assert;
import org.junit.Test;
import uk.co.compendiumdev.javafortesters.domain.counterstrings.Creators.CounterStringCreator;
import uk.co.compendiumdev.javafortesters.domain.counterstrings.Creators.StringCounterStringCreator;
import uk.co.compendiumdev.javafortesters.domain.counterstrings.Creators.SystemOutCounterStringCreator;
package uk.co.compendiumdev.javafortesters.domain.counterstrings;


public class CounterStringCreatorTest {


    @Test
    public void haveACounterStringCreatorInterface() throws CounterStringCreationError {

        CounterStringCreator creator = new StringCounterStringCreator();

        new CounterString().createWith(35, "*", creator);

        Assert.assertEquals("2*4*6*8*11*14*17*20*23*26*29*32*35*", creator.toString());

    }

    @Test
    public void haveACounterStringSysOutCreator() throws CounterStringCreationError {

// Path: src/main/java/uk/co/compendiumdev/javafortesters/domain/counterstrings/Creators/CounterStringCreator.java
// public interface CounterStringCreator {
//     void append(String nextPart);
//     void finished();
// }
// 
// Path: src/main/java/uk/co/compendiumdev/javafortesters/domain/counterstrings/Creators/StringCounterStringCreator.java
// public class StringCounterStringCreator implements CounterStringCreator {
// 
//     private final StringBuilder string;
// 
//     public StringCounterStringCreator(){
//         string = new StringBuilder();
// 
//     }
// 
//     @Override
//     public void append(String nextPart) {
//         string.append(nextPart);
//     }
// 
//     @Override
//     public void finished() {
//         // string is ready to output now
//     }
// 
//     @Override
//     public String toString() {
//         return string.toString();
//     }
// }
// 
// Path: src/main/java/uk/co/compendiumdev/javafortesters/domain/counterstrings/Creators/SystemOutCounterStringCreator.java
// public class SystemOutCounterStringCreator implements CounterStringCreator {
// 
//     private final StringBuilder string;
// 
//     public SystemOutCounterStringCreator(){
//         string = new StringBuilder();
//     }
//     @Override
//     public void append(String nextPart) {
//         string.append(nextPart);
//     }
// 
//     @Override
//     public void finished() {
//         System.out.print(string.toString());
//     }
// 
//     @Override
//     public String toString() {
//         return string.toString();
//     }
// 
// 
// }


// Path: src/test/java/uk/co/compendiumdev/javafortesters/domain/counterstrings/CounterStringCreatorTest.java
import org.junit.Assert;
import org.junit.Test;
import uk.co.compendiumdev.javafortesters.domain.counterstrings.Creators.CounterStringCreator;
import uk.co.compendiumdev.javafortesters.domain.counterstrings.Creators.StringCounterStringCreator;
import uk.co.compendiumdev.javafortesters.domain.counterstrings.Creators.SystemOutCounterStringCreator;

package uk.co.compendiumdev.javafortesters.domain.counterstrings;


public class CounterStringCreatorTest {


    @Test
    public void haveACounterStringCreatorInterface() throws CounterStringCreationError {

        CounterStringCreator creator = new StringCounterStringCreator();

        new CounterString().createWith(35, "*", creator);

        Assert.assertEquals("2*4*6*8*11*14*17*20*23*26*29*32*35*", creator.toString());

    }

    @Test
    public void haveACounterStringSysOutCreator() throws CounterStringCreationError {

        CounterStringCreator creator = new SystemOutCounterStringCreator();