public void Index()
        {
            // Arrange
            E2EController controller = new E2EController();

            // Act
            ViewResult result = controller.Index() as ViewResult;

            // Assert
            Assert.IsNotNull(result);
        }
        public void RunTestsAndGetResults()
        {
            // Arrange
            E2EController controller = new E2EController();

            E2EController.screenState.SetTestsFromSuites(TestRunner.GetSuitesForAssembly(typeof(E2EControllerTest).Assembly));
            controller.ControllerContext = new ControllerContext()
            {
                HttpContext = MockRequest("{\"browser\":\"UnitTests\",\"tests\":[0,2]}")
            };
            E2EController listeningController = new E2EController();

            listeningController.ControllerContext = new ControllerContext()
            {
                HttpContext = MockRequest("{id:-1}")
            };
            E2EController resultsController = new E2EController();

            // Act
            controller.RunTests();
            var eventListener = listeningController.LongPoll();

            // Assert
            Assert.IsTrue(eventListener.IsCompleted);
            var res = JsonConvert.DeserializeObject <JsonListResponse>(JsonConvert.SerializeObject((eventListener.Result as JsonResult).Data));

            Assert.AreEqual(2, res.TestCount);
            Assert.AreEqual(2, res.Completed);

            //Verify test 0
            Assert.IsTrue(res.List[0].Completed);
            Assert.IsNull(res.List[0].ErrorMessage);

            //Verify test 2
            Assert.IsTrue(res.List[2].Completed);
            Assert.IsNotNull(res.List[2].ErrorMessage);

            //Verify that no other tests have ran
            Assert.AreEqual(2, res.List.Where(m => m.Completed).Count());
        }