public void ProduceOfferReturnsCorrectResult(
            string street,
            string postalCode,
            string country,
            int price,
            int size)
        {
            var sut         = new PropertyMortgageApplicationProcessor();
            var application = new MortgageApplication
            {
                Property = new Property
                {
                    Address = new Address
                    {
                        Street     = street,
                        PostalCode = postalCode,
                        Country    = country
                    },
                    Price = price,
                    Size  = size
                }
            };

            var actual = sut.ProduceOffer(application);

            var expected =
                new PropertyProcessor
            {
                PriceText = "Asking price"
            }
            .ProduceRenderings(application.Property);

            Assert.Equal(expected, actual);
        }
        public void SutDoesNotEqualAnonymousObject()
        {
            var sut       = new PropertyMortgageApplicationProcessor();
            var anonymous = new object();

            var actual = sut.Equals(anonymous);

            Assert.False(actual);
        }
        public void SutEqualsOther()
        {
            var sut   = new PropertyMortgageApplicationProcessor();
            var other = new PropertyMortgageApplicationProcessor();

            var actual = sut.Equals(other);

            Assert.True(actual);
        }
        public void SutIsMortgageApplicationProcessor()
        {
            var sut = new PropertyMortgageApplicationProcessor();

            Assert.IsAssignableFrom <IMortgageApplicationProcessor>(sut);
        }