示例#1
0
        public void RollbackWithDomainObject()
        {
            _order1.DeliveryDate = DateTime.Now;
            _mockRepository.BackToRecord(_order1MockEventReceiver);
            _mockRepository.BackToRecord(_clientTransactionExtensionMock);

            using (_mockRepository.Ordered())
            {
                _clientTransactionExtensionMock.RollingBack(null, null);
                LastCall.Constraints(Is.Same(TestableClientTransaction), Property.Value("Count", 1) & List.IsIn(_order1));

                _clientTransactionMockEventReceiver.RollingBack(_order1);

                _order1MockEventReceiver.RollingBack(null, null);
                LastCall.Constraints(Is.Same(_order1), Is.NotNull());

                _order1MockEventReceiver.RolledBack(null, null);
                LastCall.Constraints(Is.Same(_order1), Is.NotNull());

                _clientTransactionMockEventReceiver.RolledBack(_order1);

                _clientTransactionExtensionMock.RolledBack(null, null);
                LastCall.Constraints(Is.Same(TestableClientTransaction), Property.Value("Count", 1) & List.IsIn(_order1));
            }

            _mockRepository.ReplayAll();

            TestableClientTransaction.Rollback();

            _mockRepository.VerifyAll();
        }
示例#2
0
        public void TestBasicInterceptionExceptionThrow()
        {
            //Create and mock the interceptor.
            MockRepository mock  = new MockRepository();
            IAspect        hmock = mock.CreateMock <IAspect>();

            hmock.PreCall(null);
            LastCall.Return(MethodVoteOptions.Continue)
            .IgnoreArguments();

            hmock.OnException(null, null, null);
            LastCall.Constraints(
                new Rhino.Mocks.Constraints.Anything(),
                Rhino.Mocks.Constraints.Is.TypeOf(typeof(NullReferenceException)),
                Rhino.Mocks.Constraints.Is.Anything());

            mock.ReplayAll();
            using (TestContainer container = new TestContainer(@"Concrete\Castle\AOP\TestSuite1\Configs\ConfigSample1.config")) {
                container.Kernel.RemoveComponent("interceptor");
                container.Kernel.AddComponentInstance("interceptor", hmock);
                try {
                    container.Resolve <ISomething>().OtherMethod(null, null);
                    Assert.Fail("If reach here exception was not thrown");
                }
                catch (Exception) {
                }
            }

            mock.VerifyAll();
        }
        public void Analyze_WebServiceThrows_SendsEmail()
        {
            MockRepository mocks       = new MockRepository();
            IWebService    stubService = mocks.Stub <IWebService>();

            IEmailService mockEmail = mocks.StrictMock <IEmailService>();

            using (mocks.Record())
            {
                stubService.LogError("aaa");
                LastCall.Constraints(Is.Anything());
                LastCall.Throw(new Exception("가짜 예외"));

                mockEmail.SendEmail("a", "subject", "가짜 예외");
            }

            LogAnalyzer2 log = new LogAnalyzer2();

            log.Service = stubService;
            log.Email   = mockEmail;

            string tooShortFileName = "abc.ext";

            log.Analyze(tooShortFileName);

            mocks.VerifyAll();
        }
示例#4
0
文件: Test4.cs 项目: LenaLenina/TDD
        public static void Test4_ReportManagerCreateSimpleReport()
        {
            MockRepository rhinoEngine = new MockRepository();
            var            mockWriter  = rhinoEngine.DynamicMock <TextWriter>();

            TextWriterFactory.SetTextWriter(mockWriter);

            using (rhinoEngine.Record())
            {
                mockWriter.Write("Nothing");

                LastCall.Constraints(new Rhino.Mocks.Constraints.Contains("TestCustomer") &
                                     new Rhino.Mocks.Constraints.Contains("TestMovie") &
                                     new Rhino.Mocks.Constraints.Contains("6 days") &
                                     new Rhino.Mocks.Constraints.Contains(12.ToString("C")) &
                                     new Rhino.Mocks.Constraints.Contains("(Regular)"));

                mockWriter.Flush();
            }

            Customer customer = new Customer("TestCustomer");

            customer.Rentals.Add(new Renatal(Movie.RegularMovie("TestMovie"), 6));

            ReportManager.CreateSimpleReport("SomePath", customer);

            rhinoEngine.VerifyAll();
        }
示例#5
0
        public void Execute_WithEvaluatedItems_Works()
        {
            TreeNode root = new TreeNode("Root");

            File.CreateText(@"CoolSuperSourceCode.cs").Close();

            using (_mocks.Unordered())
            {
                _buildEngine.LogMessageEvent(null);
                LastCall.IgnoreArguments().Repeat.Any();
                Expect.Call(_item.GetMetadata("FullPath")).Return("CoolSuperSourceCode.cs").Repeat.Any();
                _parserService.Parse(null, null);
                LastCall.Constraints(Is.NotNull(), Is.Equal("CoolSuperSourceCode.cs"));
                Expect.Call(_treeService.Root).Return(root).Repeat.Any();
                _generator.Generate(root);
                Expect.Call(_source.Ccu).Return(_ccu).Repeat.Any();
            }

            _task.BuildEngine       = _buildEngine;
            _task.Sources           = new ITaskItem[] { _item };
            _task.ControllerSources = new ITaskItem[0];
            _task.ViewSources       = new ITaskItem[0];
            _task.Namespace         = "Eleutian.Empty";
            _task.OutputFile        = "SiteMap.generated.cs";

            _mocks.ReplayAll();
            Assert.IsTrue(_task.Execute());
            Assert.AreEqual("SiteMap.generated.cs", _task.GeneratedItems[0].ItemSpec);

            File.Delete(_task.OutputFile);
        }
示例#6
0
        public static void PropertyConstraintTestUsingAnd()
        {
            var excepetionToThrow = new Exception("TestMessage");

            MockRepository rhinoEngine = new MockRepository();

            var         mailService = rhinoEngine.DynamicMock <IMailService>();
            var         logService  = rhinoEngine.Stub <ILogService>();
            FileManager mgr         = new FileManager(logService, mailService);

            And addStatement = new And(Property.Value("Destination", "*****@*****.**"),
                                       Property.Value("Theme", excepetionToThrow.GetType().Name));

            And combinedAnd = new And(addStatement, Property.Value("MessageText", excepetionToThrow.Message));

            using (rhinoEngine.Record())
            {
                logService.LogError("Anything");
                LastCall.Constraints(new Anything());
                LastCall.Throw(excepetionToThrow);

                mailService.SendMail(null);
                LastCall.Constraints(combinedAnd);
            }

            mgr.Analize("file.exe");

            rhinoEngine.VerifyAll();
        }
示例#7
0
        public static void FileManagerIsMatchingConstraintTest()
        {
            var excepetionToThrow = new Exception("TestMessage");

            MockRepository rhinoEngine = new MockRepository();

            var         mailService = rhinoEngine.DynamicMock <IMailService>();
            var         logService  = rhinoEngine.Stub <ILogService>();
            FileManager mgr         = new FileManager(logService, mailService);

            using (rhinoEngine.Record())
            {
                logService.LogError("Anything");
                LastCall.Constraints(new Anything());
                LastCall.Throw(excepetionToThrow);

                mailService.SendMail(null);
                LastCall.Constraints(Rhino.Mocks.Constraints.Is.Matching <MailMessage>(
                                         message =>
                {
                    if (message.Destination == "*****@*****.**" && message.Theme == excepetionToThrow.GetType().Name&& message.MessageText == excepetionToThrow.Message)
                    {
                        return(true);
                    }

                    return(false);
                }));
            }

            mgr.Analize("file.exe");

            rhinoEngine.VerifyAll();
        }
示例#8
0
        public void AddToOneToManyRelationWithOldRelatedObject()
        {
            DomainObjectCollection preloadedOrderItemsOfOrder1 = _order1.OrderItems;

            preloadedOrderItemsOfOrder1.EnsureDataComplete();

            OrderItem newOrderItem           = DomainObjectIDs.OrderItem3.GetObject <OrderItem>();
            Order     oldOrderOfNewOrderItem = newOrderItem.Order;

            oldOrderOfNewOrderItem.EnsureDataAvailable();

            _mockRepository.BackToRecord(_extension);
            var newOrderItemEventReceiver           = _mockRepository.StrictMock <DomainObjectMockEventReceiver> (newOrderItem);
            var oldOrderOfNewOrderItemEventReceiver = _mockRepository.StrictMock <DomainObjectMockEventReceiver> (oldOrderOfNewOrderItem);

            using (_mockRepository.Ordered())
            {
                _extension.RelationReading(
                    TestableClientTransaction, _order1, GetEndPointDefinition(typeof(Order), "OrderItems"), ValueAccess.Current);
                _extension.RelationRead(null, null, null, (ReadOnlyDomainObjectCollectionAdapter <DomainObject>)null, ValueAccess.Current);
                LastCall.Constraints(
                    Is.Same(TestableClientTransaction),
                    Is.Same(_order1),
                    Is.Equal(GetEndPointDefinition(typeof(Order), "OrderItems")),
                    Property.Value("Count", preloadedOrderItemsOfOrder1.Count) & new ContainsConstraint(preloadedOrderItemsOfOrder1),
                    Is.Equal(ValueAccess.Current));

                _extension.RelationChanging(
                    TestableClientTransaction, newOrderItem, GetEndPointDefinition(typeof(OrderItem), "Order"), oldOrderOfNewOrderItem, _order1);
                newOrderItemEventReceiver.RelationChanging(GetEndPointDefinition(typeof(OrderItem), "Order"), oldOrderOfNewOrderItem, _order1);

                _extension.RelationChanging(
                    TestableClientTransaction, _order1, GetEndPointDefinition(typeof(Order), "OrderItems"), null, newOrderItem);
                _order1EventReceiver.RelationChanging(GetEndPointDefinition(typeof(Order), "OrderItems"), null, newOrderItem);

                _extension.RelationChanging(
                    TestableClientTransaction, oldOrderOfNewOrderItem, GetEndPointDefinition(typeof(Order), "OrderItems"), newOrderItem, null);
                oldOrderOfNewOrderItemEventReceiver.RelationChanging(GetEndPointDefinition(typeof(Order), "OrderItems"), newOrderItem, null);


                oldOrderOfNewOrderItemEventReceiver.RelationChanged(GetEndPointDefinition(typeof(Order), "OrderItems"), newOrderItem, null);
                _extension.RelationChanged(
                    TestableClientTransaction, oldOrderOfNewOrderItem, GetEndPointDefinition(typeof(Order), "OrderItems"), newOrderItem, null);

                _order1EventReceiver.RelationChanged(GetEndPointDefinition(typeof(Order), "OrderItems"), null, newOrderItem);
                _extension.RelationChanged(TestableClientTransaction, _order1, GetEndPointDefinition(typeof(Order), "OrderItems"), null, newOrderItem);

                newOrderItemEventReceiver.RelationChanged(GetEndPointDefinition(typeof(OrderItem), "Order"), oldOrderOfNewOrderItem, _order1);
                _extension.RelationChanged(TestableClientTransaction, newOrderItem, GetEndPointDefinition(typeof(OrderItem), "Order"), oldOrderOfNewOrderItem, _order1);
            }

            _mockRepository.ReplayAll();

            _order1.OrderItems.Add(newOrderItem);

            _mockRepository.VerifyAll();
        }
示例#9
0
 private void ExpectHandleReference(ICloneStrategy strategyMock, TestDomainBase original, TestDomainBase clone, string propertyName,
                                    ClientTransaction sourceTransaction, ClientTransaction cloneTransaction)
 {
     strategyMock.HandleReference(new PropertyAccessor(), new PropertyAccessor(), null);
     LastCall.Constraints(
         Rhino.Mocks.Constraints.Is.Equal(original.Properties[original.GetPublicDomainObjectType(), propertyName, sourceTransaction]),
         Rhino.Mocks.Constraints.Is.Equal(clone.Properties[clone.GetPublicDomainObjectType(), propertyName, cloneTransaction]),
         Rhino.Mocks.Constraints.Is.Anything());
 }
示例#10
0
        public void CreateJob_DelegatesToJobStore()
        {
            mockJobStore.CreateJob(dummyJobSpec, DateTime.UtcNow, CreateJobConflictAction.Update);
            LastCall.Constraints(Rhino.Mocks.Constraints.Is.Same(dummyJobSpec), Rhino.Mocks.Constraints.Is.Anything(), Rhino.Mocks.Constraints.Is.Equal(CreateJobConflictAction.Update)).Return(true);

            Mocks.ReplayAll();

            Assert.IsTrue(scheduler.CreateJob(dummyJobSpec, CreateJobConflictAction.Update));
        }
 public void should_register_for_the_main_shell_views_closing_event()
 {
     using (mockery.Record()) {
         shellView.Closed += null;
         LastCall.Constraints(Is.NotNull());
     }
     using (mockery.Playback()) {
         CreateSUT();
     }
 }
示例#12
0
        public void ShouldShowViewAndAttachEmailClickedEvent()
        {
            factory.Stub(x => x.CreateAboutView()).Return(view);
            view.Stub(x => x.ShowView()).Repeat.Once();
            view.EmailClicked += null;
            LastCall.Constraints(Is.NotNull());
            mocks.ReplayAll();

            var controller = new AboutController(factory);
            controller.Show();
        }
示例#13
0
文件: ViewTest.cs 项目: xlgmokha/sait
        public void Should_redirect_to_page()
        {
            using (_mockery.Record( )) {
                _mockGateway.RedirectTo(null);
                LastCall.Constraints(Is.NotNull( ));
            }

            using (_mockery.Playback( )) {
                CreateSUT( ).Render( );
            }
        }
示例#14
0
        public void CanSendSMSWhenUserRequestForgottenPasswordReminder()
        {
            smsSender.SendSMS(null, null);
            LastCall.Constraints(Is.Equal("1234"),
                                 Text.StartsWith("new password: "******"Should send sms");
            mocks.ReplayAll();

            LoginController controller = new LoginController(userRepository, smsSender);

            controller.ForgottenPassword("sally");
        }
示例#15
0
        public void UsingPredicateWhenExpectationViolated()
        {
            demo.VoidStringArg(null);
            LastCall.Constraints(
                Is.Matching <string>(JustPredicate)
                );
            mocks.Replay(demo);

            Assert.Throws <ExpectationViolationException>(
                "IDemo.VoidStringArg(\"cc\"); Expected #0, Actual #1.\r\nIDemo.VoidStringArg(Predicate (ConstraintTests.JustPredicate(obj);)); Expected #1, Actual #0.",
                () => demo.VoidStringArg("cc"));
        }
        public void ComplexConstraintsWithCallbacks()
        {
            MockRepository mocks       = new MockRepository();
            IWebService    mockservice = mocks.CreateMock <IWebService>();

            using (mocks.Record())
            {
                mockservice.LogError(new TraceMessage("", 0, ""));
                LastCall.Constraints(
                    Is.Matching <ComplexTraceMessage>(verifyComplexMessage));
            }
        }
        public void FormatWritesTheTransformedReport()
        {
            string resourcePath = Path.Combine(Path.GetDirectoryName(AssemblyUtils.GetAssemblyLocalPath(GetType().Assembly)), @"..\Reports");

            IReportWriter    reportWriter    = Mocks.StrictMock <IReportWriter>();
            IReportContainer reportContainer = Mocks.StrictMock <IReportContainer>();
            IProgressMonitor progressMonitor = NullProgressMonitor.CreateInstance();

            string reportPath = SpecialPathPolicy.For <XsltReportFormatter>().CreateTempFileWithUniqueName().FullName;

            using (Stream tempFileStream = File.OpenWrite(reportPath))
            {
                using (Mocks.Record())
                {
                    SetupResult.For(reportWriter.ReportContainer).Return(reportContainer);

                    reportWriter.SerializeReport(null, AttachmentContentDisposition.Link);
                    LastCall.Constraints(Is.NotNull(), Is.Equal(AttachmentContentDisposition.Link))
                    .Do((SerializeReportDelegate) delegate(XmlWriter writer, AttachmentContentDisposition contentDisposition)
                    {
                        XmlDocument doc = new XmlDocument();
                        doc.InnerXml    = "<report>The report.</report>";
                        doc.Save(writer);
                    });

                    SetupResult.For(reportContainer.ReportName).Return("Foo");
                    Expect.Call(reportContainer.OpenWrite("Foo.ext", MimeTypes.PlainText, new UTF8Encoding(false)))
                    .Return(tempFileStream);
                    reportWriter.AddReportDocumentPath("Foo.ext");

                    Expect.Call(reportContainer.OpenWrite(@"Foo\MbUnitLogo.png", MimeTypes.Png, null)).Return(new MemoryStream());

                    reportWriter.SaveReportAttachments(null);
                    LastCall.Constraints(Is.NotNull());
                }

                using (Mocks.Playback())
                {
                    XsltReportFormatter formatter = new XsltReportFormatter("ext", MimeTypes.PlainText, new DirectoryInfo(resourcePath), "Diagnostic.xslt", new string[] { "MbUnitLogo.png" });
                    var reportFormatterOptions    = new ReportFormatterOptions();
                    reportFormatterOptions.AddProperty(XsltReportFormatter.AttachmentContentDispositionOption, AttachmentContentDisposition.Link.ToString());

                    formatter.Format(reportWriter, reportFormatterOptions, progressMonitor);

                    string reportContents = File.ReadAllText(reportPath);
                    TestLog.EmbedXml("Diagnostic report contents", reportContents);
                    Assert.Contains(reportContents, "<resourceRoot>Foo</resourceRoot>");
                    Assert.Contains(reportContents, "The report.");

                    File.Delete(reportPath);
                }
            }
        }
示例#18
0
        /// <summary>
        /// Ensures, that all interface methods delegate to Write() with correct level + arguments
        /// and that arguments are still not evaluated up to this point (e.g. calling ToString())
        /// </summary>
        private static void WriteIsCalledWithCorrectLogLevel(string levelName)
        {
            MockRepository mocks = new MockRepository();

            AbstractTestLogger    log           = (AbstractTestLogger)mocks.PartialMock(typeof(AbstractTestLogger));
            Exception             ex            = (Exception)mocks.StrictMock(typeof(Exception));
            object                messageObject = mocks.StrictMock(typeof(object));
            object                formatArg     = mocks.StrictMock(typeof(object));
            FormatMessageCallback failCallback  = TestFormatMessageCallback.FailCallback();

            MethodInfo[] logMethods = GetLogMethodSignatures(levelName);

            LogLevel logLevel = (LogLevel)Enum.Parse(typeof(LogLevel), levelName);

            using (mocks.Ordered())
            {
                log.Log(logLevel, null, null);
                LastCall.Constraints(Is.Equal(logLevel), Is.Anything(), Is.Null());
                log.Log(logLevel, null, ex);
                LastCall.Constraints(Is.Equal(logLevel), Is.Anything(), Is.Same(ex));
                log.Log(logLevel, null, null);
                LastCall.Constraints(Is.Equal(logLevel), Is.Anything(), Is.Null());
                log.Log(logLevel, null, ex);
                LastCall.Constraints(Is.Equal(logLevel), Is.Anything(), Is.Same(ex));
                log.Log(logLevel, null, null);
                LastCall.Constraints(Is.Equal(logLevel), Is.Anything(), Is.Null());
                log.Log(logLevel, null, ex);
                LastCall.Constraints(Is.Equal(logLevel), Is.Anything(), Is.Same(ex));
                log.Log(logLevel, null, null);
                LastCall.Constraints(Is.Equal(logLevel), Is.Anything(), Is.Null());
                log.Log(logLevel, null, ex);
                LastCall.Constraints(Is.Equal(logLevel), Is.Anything(), Is.Same(ex));
                log.Log(logLevel, null, null);
                LastCall.Constraints(Is.Equal(logLevel), Is.Anything(), Is.Null());
                log.Log(logLevel, null, ex);
                LastCall.Constraints(Is.Equal(logLevel), Is.Anything(), Is.Same(ex));
            }
            mocks.ReplayAll();

            Invoke(log, logMethods[0], messageObject);
            Invoke(log, logMethods[1], messageObject, ex);
            Invoke(log, logMethods[2], "format", new object[] { formatArg });
            Invoke(log, logMethods[3], "format", ex, new object[] { formatArg });
            Invoke(log, logMethods[4], CultureInfo.InvariantCulture, "format", new object[] { formatArg });
            Invoke(log, logMethods[5], CultureInfo.InvariantCulture, "format", ex, new object[] { formatArg });
            Invoke(log, logMethods[6], failCallback);
            Invoke(log, logMethods[7], failCallback, ex);
            Invoke(log, logMethods[8], CultureInfo.InvariantCulture, failCallback);
            Invoke(log, logMethods[9], CultureInfo.InvariantCulture, failCallback, ex);

            mocks.VerifyAll();
        }
示例#19
0
        public void ReplaceInOneToManyRelation()
        {
            Assert.Greater(_order1.OrderItems.Count, 0);
            OrderItem oldOrderItem = _order1.OrderItems[0];

            DomainObjectCollection preloadedOrderItems = _order1.OrderItems;
            OrderItem newOrderItem = OrderItem.NewObject();

            _mockRepository.BackToRecord(_extension);
            var oldOrderItemEventReceiver = _mockRepository.StrictMock <DomainObjectMockEventReceiver> (oldOrderItem);
            var newOrderItemEventReceiver = _mockRepository.StrictMock <DomainObjectMockEventReceiver> (newOrderItem);

            using (_mockRepository.Ordered())
            {
                _extension.RelationReading(
                    TestableClientTransaction, _order1, GetEndPointDefinition(typeof(Order), "OrderItems"), ValueAccess.Current);
                _extension.RelationRead(null, null, null, (ReadOnlyDomainObjectCollectionAdapter <DomainObject>)null, ValueAccess.Current);
                LastCall.Constraints(
                    Is.Same(TestableClientTransaction),
                    Is.Same(_order1),
                    Is.Equal(GetEndPointDefinition(typeof(Order), "OrderItems")),
                    Property.Value("Count", preloadedOrderItems.Count) & new ContainsConstraint(preloadedOrderItems),
                    Is.Equal(ValueAccess.Current));

                _extension.RelationChanging(
                    TestableClientTransaction, oldOrderItem, GetEndPointDefinition(typeof(OrderItem), "Order"), _order1, null);
                oldOrderItemEventReceiver.RelationChanging(GetEndPointDefinition(typeof(OrderItem), "Order"), _order1, null);

                _extension.RelationChanging(
                    TestableClientTransaction, newOrderItem, GetEndPointDefinition(typeof(OrderItem), "Order"), null, _order1);
                newOrderItemEventReceiver.RelationChanging(GetEndPointDefinition(typeof(OrderItem), "Order"), null, _order1);

                _extension.RelationChanging(
                    TestableClientTransaction, _order1, GetEndPointDefinition(typeof(Order), "OrderItems"), oldOrderItem, newOrderItem);
                _order1EventReceiver.RelationChanging(GetEndPointDefinition(typeof(Order), "OrderItems"), oldOrderItem, newOrderItem);

                _order1EventReceiver.RelationChanged(GetEndPointDefinition(typeof(Order), "OrderItems"), oldOrderItem, newOrderItem);
                _extension.RelationChanged(TestableClientTransaction, _order1, GetEndPointDefinition(typeof(Order), "OrderItems"), oldOrderItem, newOrderItem);

                newOrderItemEventReceiver.RelationChanged(GetEndPointDefinition(typeof(OrderItem), "Order"), null, _order1);
                _extension.RelationChanged(TestableClientTransaction, newOrderItem, GetEndPointDefinition(typeof(OrderItem), "Order"), null, _order1);

                oldOrderItemEventReceiver.RelationChanged(GetEndPointDefinition(typeof(OrderItem), "Order"), _order1, null);
                _extension.RelationChanged(TestableClientTransaction, oldOrderItem, GetEndPointDefinition(typeof(OrderItem), "Order"), _order1, null);
            }

            _mockRepository.ReplayAll();

            _order1.OrderItems[0] = newOrderItem;

            _mockRepository.VerifyAll();
        }
示例#20
0
        public void ModifyOtherObjectInClientTransactionRollingBack()
        {
            _order1.DeliveryDate = DateTime.Now;
            _mockRepository.BackToRecord(_order1MockEventReceiver);
            _mockRepository.BackToRecord(_clientTransactionExtensionMock);

            using (_mockRepository.Ordered())
            {
                _clientTransactionExtensionMock.RollingBack(null, null);
                LastCall.Constraints(Is.Same(TestableClientTransaction), Property.Value("Count", 1) & List.IsIn(_order1));

                _clientTransactionMockEventReceiver.RollingBack(_order1);
                LastCall.Do(new EventHandler <ClientTransactionEventArgs> (ChangeCustomerNameCallback));

                _clientTransactionExtensionMock.PropertyValueChanging(TestableClientTransaction, null, null, null, null);
                LastCall.IgnoreArguments();
                _customer1MockEventReceiver.PropertyChanging(null, null);
                LastCall.IgnoreArguments();
                _customer1MockEventReceiver.PropertyChanged(null, null);
                LastCall.IgnoreArguments();
                _clientTransactionExtensionMock.PropertyValueChanged(TestableClientTransaction, null, null, null, null);
                LastCall.IgnoreArguments();

                _order1MockEventReceiver.RollingBack(null, null);
                LastCall.Constraints(Is.Same(_order1), Is.NotNull());

                _clientTransactionExtensionMock.RollingBack(null, null);
                LastCall.Constraints(Is.Same(TestableClientTransaction), Property.Value("Count", 1) & List.IsIn(_customer1));

                _clientTransactionMockEventReceiver.RollingBack(_customer1);

                _customer1MockEventReceiver.RollingBack(null, null);
                LastCall.Constraints(Is.Same(_customer1), Is.NotNull());

                _customer1MockEventReceiver.RolledBack(null, null);
                LastCall.Constraints(Is.Same(_customer1), Is.NotNull());

                _order1MockEventReceiver.RolledBack(null, null);
                LastCall.Constraints(Is.Same(_order1), Is.NotNull());

                _clientTransactionMockEventReceiver.RolledBack(_order1, _customer1);

                _clientTransactionExtensionMock.RolledBack(null, null);
                LastCall.Constraints(Is.Same(TestableClientTransaction), Property.Value("Count", 2) & new ContainsConstraint(_order1, _customer1));
            }

            _mockRepository.ReplayAll();

            TestableClientTransaction.Rollback();

            _mockRepository.VerifyAll();
        }
示例#21
0
        public void SimpleStringConstraints()
        {
            var mocks       = new MockRepository();
            var mockService = mocks.StrictMock <IWebService>();

            using (mocks.Record())
            {
                mockService.LogError("ignored string");
                LastCall.Constraints(new Rhino.Mocks.Constraints.Contains("abc"));
            }
            mockService.LogError(Guid.NewGuid() + " abc");
            mocks.VerifyAll();
        }
        public void ShouldSetDescriptionForExistingFieldsIfEmpty()
        {
            ICategoryRepository categoryRepository;
            const string        categoryName = "category";

            List <FieldInfo> existingFields = new List <FieldInfo>();

            existingFields.Add(new FieldInfo("existingField1", FieldType.TextBox, "User-defined description"));
            existingFields.Add(new FieldInfo("existingField2", FieldType.CheckBox, String.Empty));

            List <FieldInfo> newFields = new List <FieldInfo>();

            newFields.Add(new FieldInfo("existingField1", FieldType.TextBox, "Field description 1"));
            newFields.Add(new FieldInfo("existingField2", FieldType.CheckBox, "Field description 2"));

            using (Mocks.Record())
            {
                categoryRepository = Mocks.StrictMock <ICategoryRepository>();

                CustomFormSettings formSettings = new CustomFormSettings();
                formSettings.Fields = existingFields.ToCustomFieldList();
                Expect.Call(categoryRepository.GetFormSettings(categoryName)).Return(formSettings);

                List <CustomField> expectedFormSettings = new List <CustomField>();
                expectedFormSettings.Add(existingFields.ToCustomFieldList()[0]);
                expectedFormSettings.Add(newFields.ToCustomFieldList()[1]);

                categoryRepository.SaveFormSettings(null);
                LastCall.Constraints(Is.Matching((CustomFormSettings cfs) =>
                {
                    for (int i = 0; i < cfs.Fields.Count; i++)
                    {
                        CustomField field         = cfs.Fields[i];
                        CustomField expectedField = expectedFormSettings[i];
                        if (expectedField.Name != field.Name || expectedField.Description != field.Description ||
                            expectedField.FieldType != field.FieldType)
                        {
                            return(false);
                        }
                    }

                    return(true);
                }));
            }

            using (Mocks.Playback())
            {
                Migrator fm = new Migrator(categoryRepository, new PostRepository());
                fm.EnsureFields(categoryName, newFields);
            }
        }
示例#23
0
        public void UsingPredicateConstraintWhenTypesNotMatching()
        {
            demo.VoidStringArg(null);
            LastCall.Constraints(
                Is.Matching <DataSet>(delegate(DataSet s)
            {
                return(false);
            }));
            mocks.Replay(demo);

            Assert.Throws <InvalidOperationException>(
                "Predicate accept System.Data.DataSet but parameter is System.String which is not compatible",
                () => demo.VoidStringArg("ab"));
        }
示例#24
0
        public void UsingPredicateConstraintWithSubtype()
        {
            demo.VoidStringArg(null);
            LastCall.Constraints(
                Is.Matching <object>(delegate(object o)
            {
                return(o.Equals("ab"));
            }));
            mocks.Replay(demo);

            demo.VoidStringArg("ab");

            mocks.VerifyAll();
        }
        public void SimpleStringConstraints()
        {
            MockRepository mocks       = new MockRepository();
            IWebService    mockService = mocks.CreateMock <IWebService>();

            using (mocks.Record())
            {
                mockService.LogError("무시된 문자열");
                LastCall.Constraints(new Contains("abc"));
            }

            mockService.LogError(Guid.NewGuid() + "abc");
            mocks.VerifyAll();
        }
示例#26
0
        public void CallOriginalMethodProblem2()
        {
            MockRepository mockRepository = new MockRepository();
            MockedClass    mock           = mockRepository.StrictMock <MockedClass>();

            mock.Method(null);
            LastCall.Constraints(Is.Equal("parameter")).CallOriginalMethod
                (OriginalCallOptions.CreateExpectation);

            mockRepository.ReplayAll();

            mock.Method("parameter");

            mockRepository.VerifyAll();
        }
        public void should_execute_the_exit_application_command()
        {
            IEventRaiser raiser;

            using (mockery.Record()) {
                shellView.Closed += null;
                raiser            = LastCall.Constraints(Is.NotNull()).GetEventRaiser();

                exitCommand.Execute();
            }
            using (mockery.Playback()) {
                CreateSUT();
                raiser.Raise(null, null);
            }
        }
示例#28
0
        public void ChangeOtherObjectBackToOriginalInClientTransactionRollingBack()
        {
            _order1.DeliveryDate = DateTime.Now;
            _customer1.Name      = "New customer name";
            _mockRepository.BackToRecord(_order1MockEventReceiver);
            _mockRepository.BackToRecord(_customer1MockEventReceiver);
            _mockRepository.BackToRecord(_clientTransactionExtensionMock);

            using (_mockRepository.Ordered())
            {
                _clientTransactionExtensionMock.RollingBack(null, null);
                LastCall.Constraints(Is.Same(TestableClientTransaction), Property.Value("Count", 2) & new ContainsConstraint(_order1, _customer1));

                _clientTransactionMockEventReceiver.RollingBack(_order1, _customer1);
                LastCall.Do(new EventHandler <ClientTransactionEventArgs> (ChangeCustomerNameBackToOriginalCallback));

                _clientTransactionExtensionMock.PropertyValueChanging(TestableClientTransaction, null, null, null, null);
                LastCall.IgnoreArguments();
                _customer1MockEventReceiver.PropertyChanging(null, null);
                LastCall.IgnoreArguments();
                _customer1MockEventReceiver.PropertyChanged(null, null);
                LastCall.IgnoreArguments();
                _clientTransactionExtensionMock.PropertyValueChanged(TestableClientTransaction, null, null, null, null);
                LastCall.IgnoreArguments();

                _order1MockEventReceiver.RollingBack(null, null);
                LastCall.Constraints(Is.Same(_order1), Is.NotNull());

                _customer1MockEventReceiver.RollingBack(null, null);
                LastCall.Constraints(Is.Same(_customer1), Is.NotNull());

                _order1MockEventReceiver.RolledBack(null, null);
                LastCall.Constraints(Is.Same(_order1), Is.NotNull());

                // Note: Customer1 must not raise a RolledBack event, because its Name has been set back to the OriginalValue.

                _clientTransactionMockEventReceiver.RolledBack(_order1);

                _clientTransactionExtensionMock.RolledBack(null, null);
                LastCall.Constraints(Is.Same(TestableClientTransaction), Property.Value("Count", 1) & List.IsIn(_order1));
            }

            _mockRepository.ReplayAll();

            TestableClientTransaction.Rollback();

            _mockRepository.VerifyAll();
        }
示例#29
0
        public static void FileManagerTest10_2()
        {
            string fileName = "SomeFileName.exe";

            using (rhinoEngine.Record())
            {
                logService.LogError("WhatEver");
                LastCall.Constraints(new Rhino.Mocks.Constraints.Contains("FileExtension"));
            }

            FileManager mgr = new FileManager(logService);

            mgr.Analize(fileName);

            rhinoEngine.Verify(logService);
        }
示例#30
0
        public void The_original_file_is_replaced_when_an_entry_is_added_or_updated()
        {
            string specifiedFile = @"c:\data\tnsnames.ora";

            task.TnsNamesFile = specifiedFile;
            task.EntryName    = "foo.world";
            using (mocks.Record())
            {
                SetupResult.For(fileSystem.ReadTextFromFile(specifiedFile)).Return(SAMPLE_FILE);
                fileSystem.WriteTextToFile(specifiedFile, SAMPLE_FILE);
                LastCall.Constraints(Rhino.Mocks.Constraints.Is.Equal(specifiedFile), Rhino.Mocks.Constraints.Is.Anything());
            }

            Assert.IsTrue(task.Execute());
            mocks.VerifyAll();
        }