public void WhenPriceIsConvertedFromDollarToEuro_ThenTheAmountIsChanged(decimal dollarAmount, decimal expectedAmount)
        {
            var price = new Price(dollarAmount, Currency.Dollar);

            price.ConvertTo(Currency.Euro);
            Assert.IsTrue(decimal.Equals(price.Amount, expectedAmount));
        }
        static void Main()
        {
            var price1 = new Price(100, CurrencyCode.USD);
            var price2 = new Price(55, CurrencyCode.EUR);
            var price3 = Price.Parse("   1000   rub     ");

            Console.WriteLine("price1 = {0}", price1);
            Console.WriteLine("price2 = {0}", price2);
            Console.WriteLine("price3 = {0}", price3);
            Console.WriteLine();
            Console.WriteLine("price1.ConvertTo BYR = {0}", price1.ConvertTo(CurrencyCode.BYR));
            Console.WriteLine("price2 + price3 = {0:s}", price2 + price3);
            Console.WriteLine();

            Console.WriteLine("price1 | to BYR = {0:sBYR} | to RUB = {0:RUB} | to EUR = {0:sEUR}", price1);
            Console.WriteLine("price2 | to BYR = {0:sBYR} | to RUB = {0:RUB} | to EUR = {0:EUR}", price2);
            Console.WriteLine("price3 | to BYR = {0:sBYR} | to RUB = {0:RUB} | to EUR = {0:EUR}", price3);

            price1.Currency = Currency.GetCurrency(CurrencyCode.BYR);
            Console.WriteLine("price1.Currency = BYR {0}", price1);

            Console.ReadLine();
        }
 public void TestConvertTo()
 {
     var price1 = new Price(100, CurrencyCode.USD);
     var convertedPrice = price1.ConvertTo(CurrencyCode.BYR);
     Assert.AreEqual(new Price(1045000, CurrencyCode.BYR), convertedPrice);
 }