コード例 #1
0
        /// <summary>Finalizes a mocked graphics device service subscriber</summary>
        /// <param name="graphicsDeviceService">
        ///   Graphics device service the mock in unsubscribed from
        /// </param>
        /// <param name="mockedSubscriber">Subscriber that will be unsubscribed</param>
        private void unmockSubscriber(
            IGraphicsDeviceService graphicsDeviceService,
            IGraphicsDeviceServiceSubscriber mockedSubscriber
            )
        {
#if XNA_4
            graphicsDeviceService.DeviceDisposing -= new EventHandler <EventArgs>(
                mockedSubscriber.DeviceDisposing
                );
            graphicsDeviceService.DeviceReset -= new EventHandler <EventArgs>(
                mockedSubscriber.DeviceReset
                );
            graphicsDeviceService.DeviceResetting -= new EventHandler <EventArgs>(
                mockedSubscriber.DeviceResetting
                );
            graphicsDeviceService.DeviceCreated -= new EventHandler <EventArgs>(
                mockedSubscriber.DeviceCreated
                );
#else
            graphicsDeviceService.DeviceDisposing -= new EventHandler(
                mockedSubscriber.DeviceDisposing
                );
            graphicsDeviceService.DeviceReset -= new EventHandler(
                mockedSubscriber.DeviceReset
                );
            graphicsDeviceService.DeviceResetting -= new EventHandler(
                mockedSubscriber.DeviceResetting
                );
            graphicsDeviceService.DeviceCreated -= new EventHandler(
                mockedSubscriber.DeviceCreated
                );
#endif
        }
コード例 #2
0
        public void TestGraphicsDeviceServiceEvents()
        {
            MockedGraphicsDeviceService      mock             = new MockedGraphicsDeviceService();
            IGraphicsDeviceServiceSubscriber mockedSubscriber = mockSubscriber(mock);

            Expect.Once.On(mockedSubscriber).Method("DeviceCreated").WithAnyArguments();
            using (IDisposable keeper = mock.CreateDevice()) {
                this.mockery.VerifyAllExpectationsHaveBeenMet();

                Expect.Once.On(mockedSubscriber).Method("DeviceResetting").WithAnyArguments();
                Expect.Once.On(mockedSubscriber).Method("DeviceReset").WithAnyArguments();
                mock.ResetDevice();
                this.mockery.VerifyAllExpectationsHaveBeenMet();

                Expect.Once.On(mockedSubscriber).Method("DeviceDisposing").WithAnyArguments();
            }
            this.mockery.VerifyAllExpectationsHaveBeenMet();
        }
コード例 #3
0
        public void TestExceptionDuringDeviceCreation()
        {
            MockedGraphicsDeviceService mock = new MockedGraphicsDeviceService();

            IGraphicsDeviceServiceSubscriber mockedSubscriber = mockSubscriber(mock);

            Expect.Once.On(mockedSubscriber).Method("DeviceCreated").WithAnyArguments();

            mock.DeviceCreated += (DeviceEventHandler) delegate(object sender, EventArgs arguments) {
                Assert.IsNotNull(mock.GraphicsDevice);
                throw new ArithmeticException("Test exception");
            };
            try {
                mock.CreateDevice();
            }
            catch (ArithmeticException) {
                // Munch
            }

            Assert.IsNull(mock.GraphicsDevice);
        }
コード例 #4
0
        /// <summary>
        ///   Mocks a subscriber for the events of the mocked graphics device service
        /// </summary>
        /// <returns>The mocked event subscriber</returns>
        private IGraphicsDeviceServiceSubscriber mockSubscriber(
            IGraphicsDeviceService graphicsDeviceService
            )
        {
            IGraphicsDeviceServiceSubscriber mockedSubscriber =
                this.mockery.NewMock <IGraphicsDeviceServiceSubscriber>();

            graphicsDeviceService.DeviceCreated += new DeviceEventHandler(
                mockedSubscriber.DeviceCreated
                );
            graphicsDeviceService.DeviceResetting += new DeviceEventHandler(
                mockedSubscriber.DeviceResetting
                );
            graphicsDeviceService.DeviceReset += new DeviceEventHandler(
                mockedSubscriber.DeviceReset
                );
            graphicsDeviceService.DeviceDisposing += new DeviceEventHandler(
                mockedSubscriber.DeviceDisposing
                );

                return(mockedSubscriber);
        }
コード例 #5
0
        /// <summary>
        ///   Mocks a subscriber for the events of the mocked graphics device service
        /// </summary>
        /// <returns>The mocked event subscriber</returns>
        private IGraphicsDeviceServiceSubscriber mockSubscriber(
            IGraphicsDeviceService graphicsDeviceService
            )
        {
            IGraphicsDeviceServiceSubscriber mockedSubscriber =
                this.mockery.NewMock <IGraphicsDeviceServiceSubscriber>();

#if XNA_4
            graphicsDeviceService.DeviceCreated += new EventHandler <EventArgs>(
                mockedSubscriber.DeviceCreated
                );
            graphicsDeviceService.DeviceResetting += new EventHandler <EventArgs>(
                mockedSubscriber.DeviceResetting
                );
            graphicsDeviceService.DeviceReset += new EventHandler <EventArgs>(
                mockedSubscriber.DeviceReset
                );
            graphicsDeviceService.DeviceDisposing += new EventHandler <EventArgs>(
                mockedSubscriber.DeviceDisposing
                );
#else
            graphicsDeviceService.DeviceCreated += new EventHandler(
                mockedSubscriber.DeviceCreated
                );
            graphicsDeviceService.DeviceResetting += new EventHandler(
                mockedSubscriber.DeviceResetting
                );
            graphicsDeviceService.DeviceReset += new EventHandler(
                mockedSubscriber.DeviceReset
                );
            graphicsDeviceService.DeviceDisposing += new EventHandler(
                mockedSubscriber.DeviceDisposing
                );
#endif

            return(mockedSubscriber);
        }
コード例 #6
0
        public void TestDummyGraphicsDeviceServiceEvents()
        {
            MockedGraphicsDeviceService originalService = new MockedGraphicsDeviceService();

            originalService.CreateDevice();

            bool deviceExists = true;

            try {
                IGraphicsDeviceService dummyService;
                dummyService = GraphicsDeviceServiceHelper.MakeDummyGraphicsDeviceService(
                    originalService.GraphicsDevice
                    );
                IGraphicsDeviceServiceSubscriber mockedSubscriber = mockSubscriber(dummyService);
                try {
                    Expect.Once.On(mockedSubscriber).Method("DeviceResetting").WithAnyArguments();
                    Expect.Once.On(mockedSubscriber).Method("DeviceReset").WithAnyArguments();
                    originalService.ResetDevice();
                    this.mockery.VerifyAllExpectationsHaveBeenMet();

                    Expect.Once.On(mockedSubscriber).Method("DeviceDisposing").WithAnyArguments();
                    deviceExists = false;
                    originalService.DestroyDevice();
                    this.mockery.VerifyAllExpectationsHaveBeenMet();
                }
                finally {
                    unmockSubscriber(dummyService, mockedSubscriber);
                }
            }
            finally {
                if (deviceExists)
                {
                    originalService.DestroyDevice();
                }
            }
        }
コード例 #7
0
    /// <summary>Finalizes a mocked graphics device service subscriber</summary>
    /// <param name="graphicsDeviceService">
    ///   Graphics device service the mock in unsubscribed from
    /// </param>
    /// <param name="mockedSubscriber">Subscriber that will be unsubscribed</param>
    private void unmockSubscriber(
      IGraphicsDeviceService graphicsDeviceService,
      IGraphicsDeviceServiceSubscriber mockedSubscriber
    ) {
#if XNA_4
      graphicsDeviceService.DeviceDisposing -= new EventHandler<EventArgs>(
        mockedSubscriber.DeviceDisposing
      );
      graphicsDeviceService.DeviceReset -= new EventHandler<EventArgs>(
        mockedSubscriber.DeviceReset
      );
      graphicsDeviceService.DeviceResetting -= new EventHandler<EventArgs>(
        mockedSubscriber.DeviceResetting
      );
      graphicsDeviceService.DeviceCreated -= new EventHandler<EventArgs>(
        mockedSubscriber.DeviceCreated
      );
#else
      graphicsDeviceService.DeviceDisposing -= new EventHandler(
        mockedSubscriber.DeviceDisposing
      );
      graphicsDeviceService.DeviceReset -= new EventHandler(
        mockedSubscriber.DeviceReset
      );
      graphicsDeviceService.DeviceResetting -= new EventHandler(
        mockedSubscriber.DeviceResetting
      );
      graphicsDeviceService.DeviceCreated -= new EventHandler(
        mockedSubscriber.DeviceCreated
      );
#endif
    }