public void SetTimer() { Tao.Sdl.Sdl.SDL_Quit(); Tao.Sdl.Sdl.SDL_InitSubSystem(Sdl.SDL_INIT_TIMER); int interval = 10; Tao.Sdl.Sdl.SDL_TimerCallback testDelegate; testDelegate = new Tao.Sdl.Sdl.SDL_TimerCallback(PrintTimerInterval); int beforeSetTimer = Tao.Sdl.Sdl.SDL_GetTicks(); Console.WriteLine("Before SetTimer(): " + beforeSetTimer.ToString()); Tao.Sdl.Sdl.SDL_SetTimer(interval, testDelegate); //Assert.IsTrue(interval < testDelegate(interval)); //Thread.Sleep(9); //Tao.Sdl.Sdl.SDL_Delay(20); int afterSetTimer = Tao.Sdl.Sdl.SDL_GetTicks(); Console.WriteLine("After SetTimer(): " + afterSetTimer.ToString()); while (afterSetTimer - beforeSetTimer < 20) { afterSetTimer = Tao.Sdl.Sdl.SDL_GetTicks(); } this.Quit(); }