public void ConvertWillReturnCorrectResult()
        {
            // Fixture setup
            var fixture         = new CurrencyFixture();
            var currency        = fixture.CreateAnonymous <Currency>();
            var sut             = fixture.CreateAnonymous <EvaluatedProduct>();
            var expectedProduct = new Likeness(sut.WithUnitPrice(sut.UnitPrice.ConvertTo(currency)));
            // Exercise system
            EvaluatedProduct result = sut.ConvertTo(currency);

            // Verify outcome
            Assert.AreEqual(expectedProduct, result, "ConvertTo");
            // Teardown
        }
        public void WithUnitPriceWillReturnCorrectResult()
        {
            // Fixture setup
            var fixture        = new Fixture();
            var sut            = fixture.CreateAnonymous <EvaluatedProduct>();
            var newUnitPrice   = fixture.CreateAnonymous <Money>();
            var expectedResult = new Likeness(new
            {
                sut.Id,
                sut.Name,
                UnitPrice = newUnitPrice
            });
            // Exercise system
            EvaluatedProduct result = sut.WithUnitPrice(newUnitPrice);

            // Verify outcome
            Assert.AreEqual(expectedResult, result, "WithUnitPrice");
            // Teardown
        }