package jmemorize.core.test.stubs;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import jmemorize.core.Card;
import jmemorize.core.Category;
import jmemorize.core.learn.LearnSession;
import jmemorize.core.learn.LearnSettings;
public class LearnSessionStub implements LearnSession
{
private Date m_start;
private Date m_end;
private Set<Card> m_passed = new HashSet<Card>();
private Set<Card> m_failed = new HashSet<Card>();
private Set<Card> m_skipped = new HashSet<Card>();
private Set<Card> m_relearned = new HashSet<Card>();
private static final Set<Card> m_emptySet = new HashSet<Card>();
public LearnSessionStub(Date start, Date end, int passed, int failed,
int skipped, int relearned)
{
m_start = start;
m_end = end;
for (int i = 0; i < passed; i++)
{
m_passed.add(new Card("test card"+i, "test"));
}
for (int i = 0; i < failed; i++)
{
m_failed.add(new Card("test card"+i, "test"));
}
for (int i = 0; i < skipped; i++)
{
m_skipped.add(new Card("test card"+i, "test"));
}
for (int i = 0; i < relearned; i++)
{
m_relearned.add(new Card("test card"+i, "test"));
}
}
public Date getStart()
{
return m_start;
}
public Date getEnd()
{
return m_end;
}
public Set<Card> getPassedCards()
{
return m_passed;
}
public Set<Card> getFailedCards()
{
return m_failed;
}
public Set<Card> getSkippedCards()
{
return m_skipped;
}
public Set<Card> getRelearnedCards()
{
return m_relearned;
}
public int getNCardsLearned()
{
return m_relearned.size() + m_passed.size();
}
public int getNCardsPartiallyLearned()
{
return 0;
}
public void startLearning()
{
}
public void endLearning()
{
}
public LearnSettings getSettings()
{
return null;
}
public Card getCurrentCard()
{
return null;
}
public Set<Card> getCardsLeft()
{
return m_emptySet;
}
public Category getCategory()
{
return null;
}
public void cardChecked(boolean passed, boolean shownFlipped)
{
}
public void cardSkipped()
{
}
public void onTimer()
{
}
public List<Card> getCheckedCards()
{
return new ArrayList<Card>();
}
public void addObserver(LearnCardObserver observer)
{
}
public void removeObserver(LearnCardObserver observer)
{
}
public boolean isRelevant()
{
return true;
}
public boolean isQuit()
{
return true;
}
}