コード例 #1
0
ファイル: EventQueueTests.cs プロジェクト: Zazcallabah/Sysmod
        public void SimpleSimulationOneStep()
        {
            var calls = new[] { new CallData( 1, 0, 10, 0 ), new CallData( 2, 2, 5, 3 ) };
            EventQueue eq = CreateQueue( calls, 2, 10, 1, 0 );
            eq.AddCallEvent( 0 );

            Assert.AreEqual( (uint) 0, eq.PerformNextEvent() );
            Assert.AreEqual( 2, eq._innerQueue.Values.Count );
        }
コード例 #2
0
ファイル: EventQueueTests.cs プロジェクト: Zazcallabah/Sysmod
        public void SimpleSimulationSeveralSteps()
        {
            var calls = new[]
            {
                new CallData( 1, 0, 1000, 0 ), new CallData( 2, 2000, 5000, 3000 ), new CallData( 1, 8000, 3000, 9000 ),
                new CallData( 10, 1000, 1000, 100000 )
            };
            EventQueue eq = CreateQueue( calls, 2, 10000, 1, 0 );

            eq.Poke();
            do
            {
            } while( eq.PerformNextEvent() < 100000 );

            Assert.AreEqual( 2, eq._innerQueue.Values.Count );
        }
コード例 #3
0
ファイル: EventQueueTests.cs プロジェクト: Zazcallabah/Sysmod
        public void SimulationHandlesStationEdgesRoundingErrors()
        {
            var calls = new[]
            {
                new CallData( 1, 0, 50, 0 ), new CallData( 2, 2, 5, 60 ), new CallData( 1, 8, 3, 90 ),
                new CallData( 10, 1, 1, 100 )
            };
            EventQueue eq = CreateQueue( calls, 7, 25, 1, 0 );

            eq.Poke();

            do
            {
            } while( eq.PerformNextEvent() < 60 );

            Assert.AreEqual( 2, eq._innerQueue.Values.Count );
        }
コード例 #4
0
ファイル: EventQueueTests.cs プロジェクト: Zazcallabah/Sysmod
        public void SimulationHandlesCallsWithSameStarttime()
        {
            var calls = new[]
            {
                new CallData( 1, 0, 50, 0 ), new CallData( 1, 0, 20, 0 ), new CallData( 1, 10, 10, 10 ),
                new CallData( 10, 1, 1, 100 )
            };
            EventQueue eq = CreateQueue( calls, 10, 100, 1, 0 );

            eq.Poke();

            do
            {
            } while( eq.PerformNextEvent() < 60 );

            Assert.AreEqual( 2, eq._innerQueue.Values.Count );
        }