예제 #1
0
        public void CanReceiveValueViaCapturedLocal()
        {
            DateTime serverTime = DateTime.MinValue;

            Deleporter.Run(() => { serverTime = DateTime.UtcNow; });
            Assert.AreEqual(DateTime.UtcNow.Year, serverTime.Year, "Retrieved an unlikely current date from the server: {0:yyyy-MM-dd}", serverTime);
        }
예제 #2
0
        public void DisplaysSpecialMessageIfWebServerHasSomehowGoneBackInTime()
        {
            // Inject a mock IDateProvider, setting the clock back to 1975
            var dateToSimulate = new DateTime(1975, 1, 1);

            Deleporter.Run(() =>
            {
                var mockDateProvider = new Mock <IDateProvider>();
                mockDateProvider.Setup(x => x.CurrentDate).Returns(dateToSimulate);
                NinjectControllerFactoryUtils.TemporarilyReplaceBinding(mockDateProvider.Object);
            });

            // Now see what it displays
            Driver.Navigate().GoToUrl(DeleporterConfiguration.SiteBaseUrl);
            var dateElement   = Driver.FindElement(By.Id("date"));
            var displayedDate = DateTime.Parse(dateElement.Text);

            Assert.AreEqual(1975, displayedDate.Year);

            var extraInfo = Driver.FindElement(By.Id("extraInfo")).Text;

            Assert.IsTrue(extraInfo.Contains("The world wide web hasn't been invented yet"));

            Console.WriteLine(new WebClient().DownloadString(DeleporterConfiguration.SiteBaseUrl));
        }
예제 #3
0
        public void MyTestCleanup()
        {
            Driver.Quit();

            // Runs any tidy up tasks in both the local and remote appdomains
            TidyupUtils.PerformTidyup();
            Deleporter.Run(TidyupUtils.PerformTidyup);
        }
 public void InitCharacters(List <Character> characters)
 {
     Deleporter.Run(() =>
     {
         var repository = new Mock <IGenericRepository <Character> >();
         repository.Setup(x => x.Entities).Returns(characters.AsQueryable());
         Global.Container.Mock <IGenericRepository <Character> >(repository.Object);
     });
 }
예제 #5
0
 public static void ThrowOnNonMockedDataAccess()
 {
     Deleporter.Run(() =>
     {
         // Throw by default on data access
         var domainContextMock = new Mock <IDomainContext>(MockBehavior.Strict);
         NinjectUtils.TemporarilyReplaceBinding(domainContextMock.Object);
     });
 }
 public void InitAccounts(List <Account> accounts)
 {
     Deleporter.Run(() =>
     {
         var repository = new Mock <IGenericRepository <Account> >();
         repository.Setup(x => x.Entities).Returns(accounts.AsQueryable());
         Global.Container.Mock <IGenericRepository <Account> >(repository.Object);
     });
 }
예제 #7
0
        public void CanPassParameterViaCapturedLocal()
        {
            int a      = 5;
            int result = Deleporter.Run(() => {
                int b = 2;
                return(a + b);
            });

            Assert.AreEqual(7, result);
        }
예제 #8
0
        private static void MockSomething()
        {
            var list = new Dictionary <string, int>();

            Deleporter.Run(() =>
            {
                //var courses = new List<CourseListViewModel> { new CourseListViewModel { CourseTitle = "Test1", } };
                //var mockDateProvider = new Mock<ICourseService>();
                //mockDateProvider.Setup(x => x.GetCourses(CourseService.CourseType.A)).Returns(courses);

                //NinjectControllerFactoryUtils.TemporarilyReplaceBinding(mockDateProvider.Object);
            });
        }
예제 #9
0
        public static void StubRegisterTestUser()
        {
            Deleporter.Run(() =>
            {
                Mock <IMembershipService> membershipMock = new Mock <IMembershipService>();
                membershipMock.Setup(x => x.CreateUser("test", "password", "*****@*****.**")).Returns(MembershipCreateStatus.Success);
                membershipMock.Setup(x => x.GetUser(It.IsAny <string>(), It.IsAny <bool>())).Returns(
                    new MembershipUser("AspNetSqlMembershipProvider", "Test", 1, "*****@*****.**", "", "",
                                       true, false, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now));

                NinjectUtils.TemporarilyReplaceBinding(membershipMock.Object);
            });
        }
예제 #10
0
        public static void StubMembershipForTestUserLogin()
        {
            Deleporter.Run(() =>
            {
                var membershipMock = new Mock <IMembershipService>();
                membershipMock.Setup(x => x.ValidateUser("test", "password")).Returns(true);
                membershipMock.Setup(x => x.GetUser(It.IsAny <string>(), true)).Returns(new MembershipUser("AspNetSqlMembershipProvider", "Test", 1, "*****@*****.**", "", "",
                                                                                                           true, false, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now));

                NinjectUtils.TemporarilyReplaceBinding(membershipMock.Object);

                // Throw by default on data access
                var domainContextMock = new Mock <IDomainContext>(MockBehavior.Strict);
                NinjectUtils.TemporarilyReplaceBinding(domainContextMock.Object);
            });
        }
예제 #11
0
        public void DisplaysSpecialMessageIfWebServerHasSomehowGoneBackInTime()
        {
            // Inject a mock IDateProvider, setting the clock back to 1975
            var dateToSimulate = new DateTime(1975, 1, 1);

            Deleporter.Run(() => {
                var mockDateProvider = new Mock <IDateProvider>();
                mockDateProvider.Setup(x => x.CurrentDate).Returns(dateToSimulate);
                NinjectControllerFactoryUtils.TemporarilyReplaceBinding(mockDateProvider.Object);
            });

            // Now see what it displays
            var html = GetPageHtml("/");

            Assert.AreEqual(1975, ParseSimpleDomElement <DateTime>(html, "date").Year);
            StringAssert.Contains("The world wide web hasn't been invented yet", ParseSimpleDomElement <string>(html, "extraInfo"));
        }
예제 #12
0
        public void TestInit()
        {
            // May want to run some setup that applies to each test - e.g. Membership
            Deleporter.Run(() =>
            {
                //var membershipMock = new Mock<IMembershipService>();
                //membershipMock.Setup(x => x.ValidateUser(It.IsAny<string>(), It.IsAny<string>())).Returns(true);
                //membershipMock.Setup(x => x.GetUser(It.IsAny<string>())).Returns(new Person
                //{
                //    UserName = "******",
                //    EmailAddress = "*****@*****.**",
                //    MemberID = 1
                //});
                //NinjectControllerFactoryUtils.TemporarilyReplaceBinding(membershipMock.Object);

                //// Example of blowing up if we don't explicitly setup a mock on an interface (data access in this example)
                //var domainContextMock = new Mock<IDomainContext>(MockBehavior.Strict);
                //NinjectControllerFactoryUtils.TemporarilyReplaceBinding(domainContextMock.Object);
            });
        }
예제 #13
0
        public void GivenWeHaveTheFollowingExistingEntries(Table table)
        {
            var tableSerialized = new SerializableTable(table);

            Deleporter.Run(() =>
            {
                var originalRepository = IoC.CurrentGuestbookEntryRepository;
                TidyUp.AddTask(() => { IoC.CurrentGuestbookEntryRepository = originalRepository; });

                var mockRepository = new Mock <IGuestbookEntryRepository>();
                mockRepository.Setup(x => x.Entries)
                .Returns((from row in tableSerialized.Rows
                          select new GuestbookEntry
                {
                    Author = row["Name"],
                    Comment = row["Comment"],
                    PostedDate = Convert.ToDateTime(row["Posted date"])
                }).AsQueryable());

                IoC.CurrentGuestbookEntryRepository = mockRepository.Object;
            });
        }
예제 #14
0
 public static void Prep()
 {
     ScenarioGuid = Guid.NewGuid();
     AddTask(() => Deleporter.Run(PerformTidyUp));
 }
예제 #15
0
        public void CanReceiveValue()
        {
            var serverTime = Deleporter.Run(() => DateTime.UtcNow);

            Assert.AreEqual(DateTime.UtcNow.Year, serverTime.Year, "Retrieved an unlikely current date from the server: {0:yyyy-MM-dd}", serverTime);
        }
예제 #16
0
        public void DelegateRunsInRemoteAppDomain()
        {
            var result = Deleporter.Run(() => HostingEnvironment.ApplicationPhysicalPath);

            StringAssert.Contains("Deleporter.Test.Server", result);
        }
예제 #17
0
 public void TearDown()
 {
     // Runs any tidyup tasks in both the local and remote appdomains
     TidyupUtils.PerformTidyup();
     Deleporter.Run(TidyupUtils.PerformTidyup);
 }