Ejemplo n.º 1
0
        public void FiltersOnParseAndFormat()
        {
            MockRepository         mocks = new MockRepository();
            IFormatter             underlyingFormatter = (IFormatter)mocks.CreateMock(typeof(IFormatter));
            TestFilteringFormatter formatter           = (TestFilteringFormatter)mocks.PartialMock(typeof(TestFilteringFormatter), underlyingFormatter);

            string inputText           = "inputText";
            string filteredInputText   = "filteredInputText";
            object outputValue         = new object();
            object filteredOutputValue = new object();

            using (mocks.Ordered())
            {
                Expect.Call(formatter.DoFilterValueToParse(inputText)).Return(filteredInputText);
                Expect.Call(underlyingFormatter.Parse(filteredInputText)).Return(outputValue);

                Expect.Call(formatter.DoFilterValueToFormat(outputValue)).Return(filteredOutputValue);
                Expect.Call(underlyingFormatter.Format(filteredOutputValue)).Return(inputText);
            }
            mocks.ReplayAll();

            Assert.AreSame(outputValue, formatter.Parse(inputText));
            Assert.AreEqual(inputText, formatter.Format(outputValue));

            mocks.VerifyAll();
        }
Ejemplo n.º 2
0
        public void FiltersOnParseAndFormat()
        {
            IFormatter             underlyingFormatter = A.Fake <IFormatter>();
            TestFilteringFormatter formatter           = A.Fake <TestFilteringFormatter>(x => x
                                                                                         .CallsBaseMethods()
                                                                                         .WithArgumentsForConstructor(new[] { underlyingFormatter }));

            string inputText           = "inputText";
            string filteredInputText   = "filteredInputText";
            object outputValue         = new object();
            object filteredOutputValue = new object();

            A.CallTo(() => formatter.DoFilterValueToParse(inputText)).Returns(filteredInputText);
            A.CallTo(() => underlyingFormatter.Parse(filteredInputText)).Returns(outputValue);

            A.CallTo(() => formatter.DoFilterValueToFormat(outputValue)).Returns(filteredOutputValue);
            A.CallTo(() => underlyingFormatter.Format(filteredOutputValue)).Returns(inputText);

            Assert.AreSame(outputValue, formatter.Parse(inputText));
            Assert.AreEqual(inputText, formatter.Format(outputValue));
        }