public void PushTest()
{
int[][] sequences;
var classifier = createClassifier(out sequences);
var running = new RunningMarkovClassifier(classifier);
for (int i = 0; i < sequences.Length; i++)
{
int[] sequence = sequences[i];
running.Clear();
for (int j = 0; j < sequence.Length; j++)
running.Push(sequence[j]);
double actualLikelihood;
int actual = running.Classification;
actualLikelihood = Math.Exp(running.Responses[actual]) / running.Responses.Exp().Sum();
double expectedLikelihood;
int expected = classifier.Compute(sequence, out expectedLikelihood);
Assert.AreEqual(expected, actual);
Assert.AreEqual(expectedLikelihood, actualLikelihood, 1e-8);
}
}