Esempio n. 1
0
        public void WhenUnregisterIsoCurrency_ThenThisMustSucceed()
        {
            _ = Currency.FromCode("PEN"); // should work

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

            action.Should().Throw <ArgumentException>().WithMessage("*unknown*currency*");
        }
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();
            }
        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. 4
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. 5
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. 6
0
            public void WhenCurrencyDoesntExist_ThenThisShouldThrow()
            {
                Action action = () => CurrencyBuilder.Unregister("ABC", "virtual");

                action.ShouldThrow <ArgumentException>().WithMessage("*specifies a currency that is not found*");
            }
Esempio n. 7
0
        public void WhenNamespaceIsEmpty_ThenThrowException()
        {
            Action action = () => CurrencyBuilder.Unregister("EUR", "");

            action.Should().Throw <ArgumentNullException>();
        }
Esempio n. 8
0
        public void WhenCodeIsEmpty_ThenThrowException()
        {
            Action action = () => CurrencyBuilder.Unregister("", "ISO-4217");

            action.Should().Throw <ArgumentNullException>();
        }