public void OneStepOpenCL()
        {
            CellBasedSim sim = new CellBasedSim(TestUtils.RandomSeed);

            sim.GenerateNew(24, 10, 10, 500, 3000, 0.1f, TestUtils.RandomSeed);

            OpenCLDispatcher dispatcher;
            OpenCLDevice     device;

            TestUtils.GetOpenCLDispatcherAndDevice(out dispatcher, out device);

            sim.DoStepOpenCL(dispatcher, device);

            Assert.AreEqual(SimulationType.CellBased, sim.CurrentType);
            Assert.IsTrue(sim.IsReady);
            Assert.AreEqual(1, sim.CurrentStep);

            Assert.AreEqual(3000, sim.Current.Cars.Length);
            Assert.AreEqual(3000, sim.Current.CarsUi.Length);
            Assert.AreEqual(15460, sim.Current.Cells.Length);
            Assert.AreEqual(15460, sim.Current.CellsToCar.Length);
            Assert.AreEqual(15460, sim.Current.CellsUi.Length);
            Assert.AreEqual(140, sim.Current.Generators.Length);
            Assert.AreEqual(100, sim.Current.Junctions.Length);

            Assert.IsFalse(string.IsNullOrWhiteSpace(sim.ToString()));
        }
        public void OneStepReference()
        {
            CellBasedSim sim = new CellBasedSim(TestUtils.RandomSeed);

            sim.GenerateNew(24, 10, 10, 500, 3000, 0.1f, TestUtils.RandomSeed);

            sim.DoStepReference();

            Assert.AreEqual(SimulationType.CellBased, sim.CurrentType);
            Assert.IsTrue(sim.IsReady);
            Assert.AreEqual(1, sim.CurrentStep);

            Assert.AreEqual(3000, sim.Current.Cars.Length);
            Assert.AreEqual(3000, sim.Current.CarsUi.Length);
            Assert.AreEqual(15460, sim.Current.Cells.Length);
            Assert.AreEqual(15460, sim.Current.CellsToCar.Length);
            Assert.AreEqual(15460, sim.Current.CellsUi.Length);
            Assert.AreEqual(140, sim.Current.Generators.Length);
            Assert.AreEqual(100, sim.Current.Junctions.Length);

            Assert.IsFalse(string.IsNullOrWhiteSpace(sim.ToString()));
        }