public void TestGenerate()
        {
            HsmFergusonModel             model      = createModel();
            IPseudoRandomNumberGenerator randomizer = new StandartPrnGenerator();
            HsmFergusonModelGenerator    generator  = new HsmFergusonModelGenerator(model, randomizer);
            IList <int> result = generator.Generate(20);

            Assert.AreEqual(20, result.Count);
            foreach (int i in result)
            {
                if (i % 4 == 0 || i % 4 == 1)
                {
                    Assert.AreEqual(1, result[i]);
                }
                else
                {
                    Assert.AreEqual(0, result[i]);
                }
            }
        }
        public void TestSimpleGenerate()
        {
            HsmQpModel model = createSimpleModel();
            IPseudoRandomNumberGenerator randomizer = new StandartPrnGenerator();
            HsmQpModelGenerator          generator  = new HsmQpModelGenerator(model, randomizer);
            IList <int> result = generator.Generate(10);

            Assert.AreEqual(10, result.Count);
            foreach (int i in result)
            {
                if (i % 2 == 0)
                {
                    Assert.AreEqual(0, result[i]);
                }
                else
                {
                    Assert.AreEqual(1, result[i]);
                }
            }
        }