Esempio n. 1
0
        public void WhenRegisterExistingCurrency_ThenThrowExeception()
        {
            var builder = new CurrencyBuilder("EUR", "ISO-4217");

            var euro = Currency.FromCode("EUR");

            builder.LoadDataFromCurrency(euro);

            Action action = () => builder.Register();

            action.Should().Throw <InvalidOperationException>().WithMessage("The custom currency is already registered.");
        }
Esempio n. 2
0
            public void WhenUnregisterIsoCurrency_ThenThisMustSucceed()
            {
                var euro = Currency.FromCode("EUR"); // should work

                CurrencyBuilder.Unregister("EUR", "ISO-4217");
                Action action = () => Currency.FromCode("EUR");

                action.ShouldThrow <ArgumentException>().WithMessage("*unknown*currency*");

                // register again for other unit-tests
                var builder = new CurrencyBuilder("EUR", "ISO-4217");

                builder.LoadDataFromCurrency(euro);
                builder.Register();
            }
Esempio n. 3
0
            public void WhenRegisterBitCoin_ThenShouldBeAvailableByExplicitNamespace()
            {
                var builder = new CurrencyBuilder("BTC1", "virtual");
                builder.EnglishName = "Bitcoin";
                builder.Symbol = "฿";
                builder.ISONumber = "123"; // iso number
                builder.DecimalDigits = 8;
                builder.IsObsolete = false;

                Currency result = builder.Register();

                Currency bitcoin = Currency.FromCode("BTC1", "virtual");
                bitcoin.Symbol.Should().Be("฿");
                bitcoin.ShouldBeEquivalentTo(result);
            }
        public void WhenRegisterBitCoinInIsoNamespace_ThenShouldBeAvailable()
        {
            var builder = new CurrencyBuilder("BTC", "ISO-4217");

            builder.EnglishName   = "Bitcoin";
            builder.Symbol        = "฿";
            builder.ISONumber     = "123"; // iso number
            builder.DecimalDigits = 8;

            Currency result = builder.Register();

            Currency bitcoin = Currency.FromCode("BTC");

            bitcoin.Symbol.Should().Be("฿");
            bitcoin.ShouldBeEquivalentTo(result);
        }
Esempio n. 5
0
            public void WhenRegisterBitCoin_ThenShouldBeAvailableByExplicitNamespace()
            {
                var builder = new CurrencyBuilder("BTC1", "virtual");

                builder.EnglishName   = "Bitcoin";
                builder.Symbol        = "฿";
                builder.ISONumber     = "123"; // iso number
                builder.DecimalDigits = 8;
                builder.IsObsolete    = false;

                Currency result = builder.Register();

                Currency bitcoin = Currency.FromCode("BTC1", "virtual");

                bitcoin.Symbol.Should().Be("฿");
                bitcoin.ShouldBeEquivalentTo(result);
            }
Esempio n. 6
0
        public void WhenRegisterBitCoin_ThenShouldBeAvailableByExplicitNamespace()
        {
            var builder = new CurrencyBuilder("BTC1", "virtual")
            {
                EnglishName   = "Bitcoin",
                Symbol        = "฿",
                ISONumber     = "123", // iso number
                DecimalDigits = 8
            };

            var result = builder.Register();

            var bitcoin = Currency.FromCode("BTC1", "virtual");

            bitcoin.Symbol.Should().Be("฿");
            bitcoin.Should().BeEquivalentTo(result);
        }
        public void WhenUnregisterCustomCurrency_ThenThisMustSucceed()
        {
            var builder = new CurrencyBuilder("XYZ", "virtual");

            builder.EnglishName   = "Xyz";
            builder.Symbol        = "฿";
            builder.ISONumber     = "123"; // iso number
            builder.DecimalDigits = 4;

            builder.Register();
            Currency xyz = Currency.FromCode("XYZ", "virtual"); // should work

            CurrencyBuilder.Unregister("XYZ", "virtual");
            Action action = () => Currency.FromCode("XYZ", "virtual");

            action.ShouldThrow <ArgumentException>().WithMessage("*unknown*currency*");
        }
Esempio n. 8
0
            public void WhenReplacingEuroWithCustom_ThenThisShouldSucceed()
            {
                Currency oldEuro = CurrencyBuilder.Unregister("EUR", "ISO-4217");

                var builder = new CurrencyBuilder("EUR", "ISO-4217");

                builder.LoadDataFromCurrency(oldEuro);
                builder.EnglishName   = "New Euro";
                builder.DecimalDigits = 1;

                builder.Register();

                Currency newEuro = Currency.FromCode("EUR");

                newEuro.Symbol.Should().Be("€");
                newEuro.EnglishName.Should().Be("New Euro");
                newEuro.DecimalDigits.Should().Be(1);
            }
Esempio n. 9
0
        public void WhenReplacingEuroWithCustom_ThenThisShouldSucceed()
        {
            // Panamanian balboa
            var oldEuro = CurrencyBuilder.Unregister("PAB", "ISO-4217");

            var builder = new CurrencyBuilder("PAB", "ISO-4217");

            builder.LoadDataFromCurrency(oldEuro);
            builder.EnglishName   = "New Panamanian balboa";
            builder.DecimalDigits = 1;

            builder.Register();

            var newEuro = Currency.FromCode("PAB");

            newEuro.Symbol.Should().Be("B/.");
            newEuro.EnglishName.Should().Be("New Panamanian balboa");
            newEuro.DecimalDigits.Should().Be(1);
        }
Esempio n. 10
0
            public void WhenReplacingEuroWithCustom_ThenThisShouldSucceed()
            {
                Currency oldEuro = CurrencyBuilder.Unregister("EUR", "ISO-4217");

                var builder = new CurrencyBuilder("EUR", "ISO-4217");
                builder.LoadDataFromCurrency(oldEuro);
                builder.EnglishName = "New Euro";
                builder.DecimalDigits = 1;

                builder.Register();

                Currency newEuro = Currency.FromCode("EUR");
                newEuro.Symbol.Should().Be("€");
                newEuro.EnglishName.Should().Be("New Euro");
                newEuro.DecimalDigits.Should().Be(1);
            }
Esempio n. 11
0
            public void WhenUnregisterIsoCurrency_ThenThisMustSucceed()
            {
                var euro = Currency.FromCode("EUR"); // should work

                CurrencyBuilder.Unregister("EUR", "ISO-4217");
                Action action = () => Currency.FromCode("EUR");

                action.ShouldThrow<ArgumentException>().WithMessage("*unknown*currency*");

                // register again for other unit-tests
                var builder = new CurrencyBuilder("EUR", "ISO-4217");
                builder.LoadDataFromCurrency(euro);
                builder.Register();
            }
Esempio n. 12
0
            public void WhenUnregisterCustomCurrency_ThenThisMustSucceed()
            {
                var builder = new CurrencyBuilder("XYZ", "virtual");
                builder.EnglishName = "Xyz";
                builder.Symbol = "฿";
                builder.ISONumber = "123"; // iso number
                builder.DecimalDigits = 4;
                builder.IsObsolete = false;

                builder.Register();
                Currency xyz = Currency.FromCode("XYZ", "virtual"); // should work

                CurrencyBuilder.Unregister("XYZ", "virtual");
                Action action = () => Currency.FromCode("XYZ", "virtual");

                action.ShouldThrow<ArgumentException>().WithMessage("*unknown*currency*");
            }