diff --git a/TagManagerKata/test/session4/AttendeeFake.java b/TagManagerKata/test/session4/AttendeeFake.java new file mode 100644 index 0000000..0ccc3de --- /dev/null +++ b/TagManagerKata/test/session4/AttendeeFake.java @@ -0,0 +1,41 @@ +package session4; + +import com.squeed.kata.nametag.entities.Attendee; + +public class AttendeeFake implements Attendee { + + private String name; + public AttendeeFake(String name){ + this.name = name; + } + @Override + public String getName() { + // TODO Auto-generated method stub + return null; + } + + @Override + public String getEmailAddress() { + // TODO Auto-generated method stub + return null; + } + + @Override + public String getTwitterHandle() { + // TODO Auto-generated method stub + return null; + } + + @Override + public String getLinkedInProfileId() { + // TODO Auto-generated method stub + return null; + } + + @Override + public String getFacebookProfileId() { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/TagManagerKata/test/session4/EmptyEvent.java b/TagManagerKata/test/session4/EmptyEvent.java index 809daa2..42ae5fd 100644 --- a/TagManagerKata/test/session4/EmptyEvent.java +++ b/TagManagerKata/test/session4/EmptyEvent.java @@ -1,6 +1,7 @@ package session4; import java.awt.Image; +import java.util.ArrayList; import java.util.List; import com.squeed.kata.nametag.entities.Attendee; @@ -14,8 +15,7 @@ public class EmptyEvent implements Event { @Override public List getExpectedAttendees() { - // TODO Auto-generated method stub - return null; + return new ArrayList<>(); } @Override diff --git a/TagManagerKata/test/session4/EventFake.java b/TagManagerKata/test/session4/EventFake.java new file mode 100644 index 0000000..a6c6276 --- /dev/null +++ b/TagManagerKata/test/session4/EventFake.java @@ -0,0 +1,29 @@ +package session4; + +import java.awt.Image; +import java.util.ArrayList; +import java.util.List; + +import com.squeed.kata.nametag.entities.Attendee; +import com.squeed.kata.nametag.entities.Event; + +public class EventFake implements Event { + + private List a_persons = new ArrayList<>(); + private Image defaultImage; + public EventFake(Attendee a_person, Image defaultImage) { + this.a_persons.add(a_person); + this.defaultImage = defaultImage; + } + + @Override + public List getExpectedAttendees() { + return a_persons; + } + + @Override + public Image getDefaultImage() { + return defaultImage; + } + +} diff --git a/TagManagerKata/test/session4/NameTagManagerImpl.java b/TagManagerKata/test/session4/NameTagManagerImpl.java index ca9ff11..897158b 100644 --- a/TagManagerKata/test/session4/NameTagManagerImpl.java +++ b/TagManagerKata/test/session4/NameTagManagerImpl.java @@ -1,6 +1,9 @@ package session4; +import java.awt.Image; + import com.squeed.kata.nametag.NameTagManager; +import com.squeed.kata.nametag.entities.Attendee; import com.squeed.kata.nametag.entities.Event; import com.squeed.kata.nametag.services.PrintingService; @@ -14,7 +17,10 @@ public class NameTagManagerImpl implements NameTagManager { @Override public void printNameTagsForEvent(Event event) { - //printingService.printNameTagFor(null, null); + for(Attendee a : event.getExpectedAttendees()){ + Image image = event.getDefaultImage(); + printingService.printNameTagFor(a, image); + } } } diff --git a/TagManagerKata/test/session4/PrintingServiceStub.java b/TagManagerKata/test/session4/PrintingServiceStub.java index 0e71974..37b7287 100644 --- a/TagManagerKata/test/session4/PrintingServiceStub.java +++ b/TagManagerKata/test/session4/PrintingServiceStub.java @@ -1,6 +1,8 @@ package session4; import java.awt.Image; +import java.util.ArrayList; +import java.util.List; import com.squeed.kata.nametag.entities.Attendee; import com.squeed.kata.nametag.services.PrintingService; @@ -8,8 +10,10 @@ import com.squeed.kata.nametag.services.PrintingService; public class PrintingServiceStub implements PrintingService { private int count; + private List imagesPrinted = new ArrayList<>(); public void printNameTagFor(Attendee attendee, Image image){ + imagesPrinted.add(image); count++; } @@ -17,4 +21,8 @@ public class PrintingServiceStub implements PrintingService { return count; } + public Image getPrintedImage(int i) { + return imagesPrinted.get(i); + } + } diff --git a/TagManagerKata/test/session4/TagManagerTest.java b/TagManagerKata/test/session4/TagManagerTest.java index f4514ac..be7e831 100644 --- a/TagManagerKata/test/session4/TagManagerTest.java +++ b/TagManagerKata/test/session4/TagManagerTest.java @@ -2,10 +2,13 @@ package session4; import static org.junit.Assert.assertEquals; +import java.awt.Image; + import org.junit.Ignore; import org.junit.Test; import com.squeed.kata.nametag.NameTagManager; +import com.squeed.kata.nametag.entities.Attendee; import com.squeed.kata.nametag.entities.Event; public class TagManagerTest { @@ -21,9 +24,18 @@ public class TagManagerTest { } @Test - @Ignore public void when_event_has_one_attendee_but_no_downloaders_available_then_print_default_image() throws Exception { + PrintingServiceStub printingService = new PrintingServiceStub(); + Image defaultImage = null; + Attendee a_person = new AttendeeFake("Will Jobe"); + Event event = new EventFake(a_person, defaultImage); + + NameTagManager testee = new NameTagManagerImpl(printingService); + + testee.printNameTagsForEvent(event); + + assertEquals(defaultImage, printingService.getPrintedImage(0)); }