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."); }
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 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); }
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*"); }
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); }
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); }
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.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*"); }