Inheritance: IMortgageApplicationProcessor
        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 SutEqualsOther()
        {
            var sut = new PropertyMortgageApplicationProcessor();
            var other = new PropertyMortgageApplicationProcessor();

            var actual = sut.Equals(other);

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

            var actual = sut.Equals(anonymous);

            Assert.False(actual);
        }
 public void SutIsMortgageApplicationProcessor()
 {
     var sut = new PropertyMortgageApplicationProcessor();
     Assert.IsAssignableFrom<IMortgageApplicationProcessor>(sut);
 }