package info.opencards.core.test; import info.opencards.CardFileBackend; import info.opencards.core.*; import javax.swing.*; import java.util.Arrays; /** * A test implementation of the <code>PresenterProxy</code>-interface, which is intended to allow development, testing * and debugging of new oc functionality without running the complete uno-deploy-loop each time. * * @author Holger Brandl */ public class MockSupplier implements SlideManager, LearnStatusSerializer { private static final FlashCardCollection mockItems = new FlashCardCollection(); static { mockItems.addAll(Arrays.asList(createItem("rot"), createItem("gruen"), createItem("blau"), createItem("weiss"), createItem("schwarz"), createItem("gelb"), createItem("gelb"))); } private Item curItem = mockItems.getItems(Item.class).get(0); /** * Creates a Mock-backend which is mainly used for testing purposes. */ public static CardFileBackend getMockBackend(JFrame owner, MockSupplier mockSupplier) { return new CardFileBackend(mockSupplier, mockSupplier); } public boolean showCardQuestion(Item selectedCard) { assert selectedCard != null; curItem = selectedCard; System.out.println("showing card front of : " + selectedCard); return true; } public boolean showCompleteCard(Item selectedCard) { assert selectedCard != null; curItem = selectedCard; System.out.println("showing complete card : " + selectedCard); return true; } /** * Used for testing purposes. */ public Item getCurItem() { return curItem; } public FlashCardCollection readFlashcardsFromFile(CardFile cardFile) { throw new RuntimeException("not implemented yet"); } public void serializeFileCards(CardFile cardFile, FlashCardCollection fileItems) { System.out.println("write meta-data"); } public FlashCardCollection deserializeFileCards(CardFile cardFile) { System.out.println("read meta-data"); return new FlashCardCollection(); } public void startFileSession(ItemCollection cardItemCollection) { System.out.println("starting learn session...."); } public void stopFileSession() { System.out.println("learning stopped"); } public void openCardFile(CardFile cardFile) { } public void stopLearnSession() { } public CardFile getCurCardFile() { return null; } private static int counter = 0; private static FlashCard createItem(String title) { FlashCard card = new FlashCard(counter, title, counter++); new Item(card); return card; } }