Remove branch specification from CI workflow #1
2252 passed, 342 failed and 10 skipped
Report | Passed | Failed | Skipped | Time |
---|---|---|---|---|
./artifacts/_fv-az1771-126_2024-12-04_04_36_40.trx | 565✅ | 82❌ | 4⚪ | 7s |
./artifacts/_fv-az1771-126_2024-12-04_04_36_42.trx | 565✅ | 82❌ | 4⚪ | 9s |
./artifacts/_fv-az1771-126_2024-12-04_04_36_43.trx | 568✅ | 82❌ | 1⚪ | 9s |
./artifacts/_fv-az1771-126_2024-12-04_04_36_45.trx | 554✅ | 96❌ | 1⚪ | 14s |
❌ ./artifacts/_fv-az1771-126_2024-12-04_04_36_40.trx
651 tests were completed in 7s with 565 passed, 82 failed and 4 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
NodaMoney.Tests.CurrencyBuilderSpec.GivenIWantToCreateCustomCurrency | 5✅ | 6❌ | 10ms | |
NodaMoney.Tests.CurrencyBuilderSpec.GivenIWantToReplaceIsoCurrencyWithOwnVersion | 1❌ | 1ms | ||
NodaMoney.Tests.CurrencyBuilderSpec.GivenIWantToUnregisterCurrency | 4✅ | 3❌ | 16ms | |
NodaMoney.Tests.CurrencyInfoSpec.GivenIWantCurrencyFromRegionOrCulture | 8✅ | 102ms | ||
NodaMoney.Tests.CurrencyInfoSpec.GivenIWantCurrencyInfoFromIsoCode | 4✅ | 2ms | ||
NodaMoney.Tests.CurrencyInfoSpec.GivenIWantCurrentCurrency | 3✅ | 1ms | ||
NodaMoney.Tests.CurrencyInfoSpec.GivenIWantToInitiateInternallyACurrency | 3✅ | 3❌ | 37ms | |
NodaMoney.Tests.CurrencyInfoSpec.GivenIWantToKnowAllCurrencies | 1✅ | 4ms | ||
NodaMoney.Tests.CurrencyInfoSpec.GivenIWantToKnowSmallestPossibleAmountOfCurrency | 5✅ | 2ms | ||
NodaMoney.Tests.CurrencyInfoSpec.GivenIWantToValidateTheDateRange | 3✅ | 9ms | ||
NodaMoney.Tests.CurrencySpec.GivenIWantCurrencyFromIsoCode | 4✅ | 4ms | ||
NodaMoney.Tests.CurrencySpec.GivenIWantDefaultCurrency | 2✅ | 3ms | ||
NodaMoney.Tests.CurrencySpec.GivenIWantToCompareCurrencies | 4✅ | 8ms | ||
NodaMoney.Tests.CurrencySpec.GivenIWantToDeconstructCurrency | 1✅ | 21ms | ||
NodaMoney.Tests.CurrencyUnitSpec.CreateCurrencyV2 | 11✅ | 86ms | ||
NodaMoney.Tests.ExchangeRateSpec.GivenIWantToCompareExchangeRates | 5✅ | 1ms | ||
NodaMoney.Tests.ExchangeRateSpec.GivenIWantToConvertExchangeRateToString | 2✅ | 1ms | ||
NodaMoney.Tests.ExchangeRateSpec.GivenIWantToConvertMoney | 3✅ | 40ms | ||
NodaMoney.Tests.ExchangeRateSpec.GivenIWantToCreateAnExchangeRateWithCurrencies | 9✅ | 3ms | ||
NodaMoney.Tests.ExchangeRateSpec.GivenIWantToCreateAnExchangeRateWithCurrenciesAsStrings | 6✅ | 3ms | ||
NodaMoney.Tests.ExchangeRateSpec.GivenIWantToDeconstructExchangeRate | 1✅ | 1ms | ||
NodaMoney.Tests.ExchangeRateSpec.GivenIWantToParseACurrencyPair | 6✅ | 17ms | ||
NodaMoney.Tests.ExchangeRateSpec.GivenIWantToTryParseACurrencyPair | 6✅ | 4ms | ||
NodaMoney.Tests.Extensions.MoneyExtensionsSafeDivideSpec.GivenIWantToSafelyDivideMoney | 6✅ | 64ms | ||
NodaMoney.Tests.Iso4127Spec.GivenIWantToCompareNodaMoneyWithIso4127 | 2✅ | 2❌ | 1⚪ | 24ms |
NodaMoney.Tests.MoneyBinaryOperatorsSpec.GivenIWantToAddAndSubtractMoney | 48✅ | 17ms | ||
NodaMoney.Tests.MoneyBinaryOperatorsSpec.GivenIWantToAddAndSubtractMoneyWithDecimal | 24✅ | 19ms | ||
NodaMoney.Tests.MoneyBinaryOperatorsSpec.GivenIWantToMultiplyAndDivideMoney | 34✅ | 10❌ | 73ms | |
NodaMoney.Tests.MoneyComparableSpec.GivenIWantToCompareMoney | 10✅ | 25ms | ||
NodaMoney.Tests.MoneyConvertibleSpec.GivenIWantToCastNumericTypeToMoneyWithImplicitCurrencyFromTheCurrentCulture | 11✅ | 8ms | ||
NodaMoney.Tests.MoneyConvertibleSpec.GivenIWantToConvertMoney | 3✅ | 30ms | ||
NodaMoney.Tests.MoneyConvertibleSpec.GivenIWantToExplicitCastMoneyToNumericType | 7✅ | 28ms | ||
NodaMoney.Tests.MoneyFiveMostUsedCurrenciesSpec.GivenIWantDollars | 6✅ | 2ms | ||
NodaMoney.Tests.MoneyFiveMostUsedCurrenciesSpec.GivenIWantEuros | 6✅ | 2ms | ||
NodaMoney.Tests.MoneyFiveMostUsedCurrenciesSpec.GivenIWantPonds | 6✅ | 19ms | ||
NodaMoney.Tests.MoneyFiveMostUsedCurrenciesSpec.GivenIWantYens | 6✅ | 7ms | ||
NodaMoney.Tests.MoneyFiveMostUsedCurrenciesSpec.GivenIWantYuan | 6✅ | 2ms | ||
NodaMoney.Tests.MoneyFormattableSpec.GivenIWantMoneyAsString | 12✅ | 15ms | ||
NodaMoney.Tests.MoneyFormattableSpec.GivenIWantMoneyAsStringWithCurrencyCode | 8✅ | 7ms | ||
NodaMoney.Tests.MoneyFormattableSpec.GivenIWantMoneyAsStringWithCurrencySymbol | 8✅ | 7ms | ||
NodaMoney.Tests.MoneyFormattableSpec.GivenIWantMoneyAsStringWithEnglishCurrencyName | 7✅ | 22ms | ||
NodaMoney.Tests.MoneyParsableSpec.GivenIWantToParseExplicitCurrency | 12✅ | 13ms | ||
NodaMoney.Tests.MoneyParsableSpec.GivenIWantToParseImplicitCurrency | 13✅ | 51ms | ||
NodaMoney.Tests.MoneyParsableSpec.GivenIWantToParseMoneyWithMoreDecimalPossibleForCurrency | 2✅ | 1ms | ||
NodaMoney.Tests.MoneyParsableSpec.GivenIWantToParseNegativeMoney | 6✅ | 4ms | ||
NodaMoney.Tests.MoneyParsableSpec.GivenIWantToTryParseExplicitCurrency | 8✅ | 11ms | ||
NodaMoney.Tests.MoneyParsableSpec.GivenIWantToTryParseImplicitCurrency | 11✅ | 12ms | ||
NodaMoney.Tests.MoneySpec.GivenIWantDefaultMoney | 1✅ | 5ms | ||
NodaMoney.Tests.MoneySpec.GivenIWantMoneyFromNumericTypeAndAnExplicitCurrencyObject | 16✅ | 2ms | ||
NodaMoney.Tests.MoneySpec.GivenIWantMoneyFromNumericTypeAndAnExplicitIsoCurrencyCode | 12✅ | 3ms | ||
NodaMoney.Tests.MoneySpec.GivenIWantMoneyImplicit | 4✅ | 24ms | ||
NodaMoney.Tests.MoneySpec.GivenIWantMoneyInMalagasyAriaryWhichHasFiveSubunits | 29✅ | 1ms | ||
NodaMoney.Tests.MoneySpec.GivenIWantMoneyWithDifferentRounding | 1✅ | 1❌ | 174ms | |
NodaMoney.Tests.MoneySpec.GivenIWantToCreateMoneyWithDoubleValue | 2✅ | 2❌ | 2ms | |
NodaMoney.Tests.MoneySpec.GivenIWantToDeconstructMoney | 1✅ | 0ms | ||
NodaMoney.Tests.Serialization.BinaryFormatterSpec.GivenIWantToSerializeMoney | 3⚪ | 3ms | ||
NodaMoney.Tests.Serialization.DataContractSerializerSpec.GivenIWantToSerializeMoney | 3✅ | 93ms | ||
NodaMoney.Tests.Serialization.NewtonsoftJsonSerializerSpec.GivenIWantToDeserializeMoney | 31✅ | 8❌ | 93ms | |
NodaMoney.Tests.Serialization.NewtonsoftJsonSerializerSpec.GivenIWantToSerializeCurrency | 4✅ | 18ms | ||
NodaMoney.Tests.Serialization.NewtonsoftJsonSerializerSpec.GivenIWantToSerializeMoney | 6✅ | 18❌ | 17ms | |
NodaMoney.Tests.Serialization.RavenDbSerializationSpec.GivenIWantToStoreInRavenDb | 2❌ | 5s | ||
NodaMoney.Tests.Serialization.SystemTextJsonSerializationSpec.GivenIWantToDeserializeMoney | 31✅ | 8❌ | 90ms | |
NodaMoney.Tests.Serialization.SystemTextJsonSerializationSpec.GivenIWantToSerializeCurrency | 4✅ | 35ms | ||
NodaMoney.Tests.Serialization.SystemTextJsonSerializationSpec.GivenIWantToSerializeMoney | 6✅ | 18❌ | 72ms | |
NodaMoney.Tests.Serialization.XmlSerializationSpec.GivenIWantToDeserializeMoney | 23✅ | 274ms | ||
NodaMoney.Tests.Serialization.XmlSerializationSpec.GivenIWantToSerializeCurrencyWithXmlSerializer | 3✅ | 52ms | ||
NodaMoney.Tests.Serialization.XmlSerializationSpec.GivenIWantToSerializeMoney | 20✅ | 49ms | ||
NodaMoney.Tests.UnaryOperatorsSpec.GivenIWantToAddAndSubtractMoneyUnary | 2✅ | 1ms | ||
NodaMoney.Tests.UnaryOperatorsSpec.GivenIWantToIncrementAndDecrementMoneyUnary | 8✅ | 1ms |
❌ NodaMoney.Tests.CurrencyBuilderSpec.GivenIWantToCreateCustomCurrency
❌ WhenBuildBitCoin_ThenItShouldSucceedButNotBeRegistered
NodaMoney.InvalidCurrencyException : BTD is unknown currency code!
✅ WhenCodeIsEmpty_ThenThrowException
✅ WhenCodeIsNull_ThenThrowException
✅ WhenFromExistingCurrency_ThenThisShouldSucceed
✅ WhenNamespaceIsEmpty_ThenThrowException
✅ WhenNamespaceIsNull_ThenThrowException
❌ WhenRegisterAsSimpleAsPossible_ThenShouldBeAvailableWithDefaults
NodaMoney.InvalidCurrencyException : The currency BTA is already registered in ISO-4217.
❌ WhenRegisterBitCoin_ThenShouldBeAvailableByExplicitNamespace
Expected bitcoin.Symbol to be "฿", but "₿" differs near "₿" (index 0).
❌ WhenRegisterBitCoinInIsoNamespace_ThenShouldBeAvailable
NodaMoney.InvalidCurrencyException : The currency BTB is already registered in ISO-4217.
❌ WhenRegisterExistingCurrency_ThenThrowException
Expected a <NodaMoney.InvalidCurrencyException> to be thrown, but no exception was thrown.
❌ WhenSymbolIsEmpty_ThenSymbolMustBeDefaultCurrencySign
NodaMoney.InvalidCurrencyException : The currency BTH is already registered in ISO-4217.
❌ NodaMoney.Tests.CurrencyBuilderSpec.GivenIWantToReplaceIsoCurrencyWithOwnVersion
❌ WhenReplacingEuroWithCustom_ThenThisShouldSucceed
NodaMoney.InvalidCurrencyException : Currency { Code = PAB, IsIso4217 = True, MinimalAmount = 0.01, Symbol = B/. } is unknown currency code!
❌ NodaMoney.Tests.CurrencyBuilderSpec.GivenIWantToUnregisterCurrency
✅ WhenCodeIsEmpty_ThenThrowException
✅ WhenCodeIsNull_ThenThrowException
❌ WhenCurrencyDoesNotExist_ThenThrowException
Expected exception message to match the equivalent of "*specifies a currency that is not found*", but "ABC is unknown currency code!" does not.
✅ WhenNamespaceIsEmpty_ThenThrowException
✅ WhenNamespaceIsNull_ThenThrowException
❌ WhenUnregisterCustomCurrency_ThenThisMustSucceed
NodaMoney.InvalidCurrencyException : The currency XYZ is already registered in virtual.
❌ WhenUnregisterIsoCurrency_ThenThisMustSucceed
Expected a <NodaMoney.InvalidCurrencyException> to be thrown, but no exception was thrown.
❌ NodaMoney.Tests.CurrencyInfoSpec.GivenIWantToInitiateInternallyACurrency
❌ WhenCodeIsNull_ThenCreatingShouldThrow
Expected a <System.ArgumentException> to be thrown, but no exception was thrown.
✅ WhenDecimalDigitIsLowerThenMinusOne_ThenCreatingShouldThrow
❌ WhenEnglishNameIsNull_ThenEnglishNameShouldDefaultToEmpty
Expected eur.EnglishName to be "", but found <null>.
✅ WhenNumberIsNull_ThenNumberShouldDefaultToEmpty
✅ WhenParamsAreCorrect_ThenCreatingShouldSucceed
❌ WhenSignIsNull_ThenSignShouldDefaultToGenericCurrencySign
Expected eur.Symbol to be "¤", but found <null>.
❌ NodaMoney.Tests.Iso4127Spec.GivenIWantToCompareNodaMoneyWithIso4127
⚪ WhenCompareCurrencies_ThenTheyShouldHaveTheSameEnglishName
✅ WhenCompareCurrencies_ThenTheyShouldHaveTheSameNumber
✅ WhenCompareCurrencies_ThenTheyShouldHaveTheSameNumberOfMinorDigits
❌ WhenCurrenciesInIso4127List_ThenShouldAlsoExistInNodaMoney
Expected missingCurrencies to contain 0 item(s) because expected defined currencies to contain ZWG Zimbabwe Gold, but found 1:
{
NodaMoney.Tests.Iso4127Spec.Iso4127Currency
{
CountryName = "ZIMBABWE",
Currency = "ZWG",
CurrencyMinorUnits = "2",
CurrencyName = "Zimbabwe Gold",
CurrencyNumber = "924"
}
}.
❌ WhenCurrenciesInRegistryAndCurrent_ThenTheyShouldAlsoBeDefinedInTheIsoList
Expected notDefinedCurrencies to contain 0 item(s) because did not expect currencies to contain ZWL, but found 1:
{
NodaMoney.CurrencyInfo
{
Code = "ZWL",
DecimalDigits = 2,
EnglishName = "Zimbabwean dollar",
ExpiredOn = <null>,
IntroducedOn = <null>,
IsHistoric = False,
IsIso4217 = True,
MinimalAmount = 0.01M,
MinorUnit = MinorUnit.Two {value: 2},
MinorUnitAsExponentOfBase10 = 2.0,
MinorUnits = 100.0,
Number = 932s,
NumericCode = "932",
Symbol = "$"
}
}.
❌ NodaMoney.Tests.MoneyBinaryOperatorsSpec.GivenIWantToMultiplyAndDivideMoney
✅ WhenUsingDivisionMethodWithDecimal_ThenMoneyShouldBeDivided(expected: -100.12, divider: 0.5, value: -50.06)
✅ WhenUsingDivisionMethodWithDecimal_ThenMoneyShouldBeDivided(expected: -100.12, divider: 5, value: -500.60)
✅ WhenUsingDivisionMethodWithDecimal_ThenMoneyShouldBeDivided(expected: 10, divider: 15, value: 150)
✅ WhenUsingDivisionMethodWithDecimal_ThenMoneyShouldBeDivided(expected: 100.12, divider: 0.5, value: 50.06)
✅ WhenUsingDivisionMethodWithDecimal_ThenMoneyShouldBeDivided(expected: 100.12, divider: 5, value: 500.60)
✅ WhenUsingDivisionMethodWithInteger_ThenMoneyShouldBeDivided(expected: -100.12, divider: 3, value: -300.36)
✅ WhenUsingDivisionMethodWithInteger_ThenMoneyShouldBeDivided(expected: -100.12, divider: 5, value: -500.60)
✅ WhenUsingDivisionMethodWithInteger_ThenMoneyShouldBeDivided(expected: 10, divider: 15, value: 150)
✅ WhenUsingDivisionMethodWithInteger_ThenMoneyShouldBeDivided(expected: 100.12, divider: 3, value: 300.36)
✅ WhenUsingDivisionMethodWithInteger_ThenMoneyShouldBeDivided(expected: 100.12, divider: 5, value: 500.60)
❌ WhenUsingDivisionMethodWithMoney_ThenResultShouldBeRatio(value1: 100.12, value2: 3, expected: 33.373333333333333333333333333)
Expected result to be 33.373333333333333333333333333M, but found 33.333333333333333333333333333M (difference of -0.040000000000000000000000000).
✅ WhenUsingDivisionMethodWithMoney_ThenResultShouldBeRatio(value1: 150, value2: 15, expected: 10)
✅ WhenUsingDivisionOperatorWithDecimal_ThenMoneyShouldBeDivided(expected: -100.12, divider: 0.5, value: -50.06)
✅ WhenUsingDivisionOperatorWithDecimal_ThenMoneyShouldBeDivided(expected: -100.12, divider: 5, value: -500.60)
✅ WhenUsingDivisionOperatorWithDecimal_ThenMoneyShouldBeDivided(expected: 10, divider: 15, value: 150)
✅ WhenUsingDivisionOperatorWithDecimal_ThenMoneyShouldBeDivided(expected: 100.12, divider: 0.5, value: 50.06)
✅ WhenUsingDivisionOperatorWithDecimal_ThenMoneyShouldBeDivided(expected: 100.12, divider: 5, value: 500.60)
✅ WhenUsingDivisionOperatorWithInteger_ThenMoneyShouldBeDivided(expected: -100.12, divider: 3, value: -300.36)
✅ WhenUsingDivisionOperatorWithInteger_ThenMoneyShouldBeDivided(expected: -100.12, divider: 5, value: -500.60)
✅ WhenUsingDivisionOperatorWithInteger_ThenMoneyShouldBeDivided(expected: 10, divider: 15, value: 150)
✅ WhenUsingDivisionOperatorWithInteger_ThenMoneyShouldBeDivided(expected: 100.12, divider: 3, value: 300.36)
✅ WhenUsingDivisionOperatorWithInteger_ThenMoneyShouldBeDivided(expected: 100.12, divider: 5, value: 500.60)
❌ WhenUsingDivisionOperatorWithMoney_ThenResultShouldBeRatio(value1: 100.12, value2: 3, expected: 33.373333333333333333333333333)
Expected result to be 33.373333333333333333333333333M, but found 33.333333333333333333333333333M (difference of -0.040000000000000000000000000).
✅ WhenUsingDivisionOperatorWithMoney_ThenResultShouldBeRatio(value1: 150, value2: 15, expected: 10)
✅ WhenUsingMultiplyMethodWithDecimal_ThenMoneyShouldBeMultiplied(value: -100.12, multiplier: 0.5, expected: -50.06)
❌ WhenUsingMultiplyMethodWithDecimal_ThenMoneyShouldBeMultiplied(value: -100.12, multiplier: 5, expected: -500.60)
Expected result to be equal to (¤501), but found (¤500).
✅ WhenUsingMultiplyMethodWithDecimal_ThenMoneyShouldBeMultiplied(value: 10, multiplier: 15, expected: 150)
✅ WhenUsingMultiplyMethodWithDecimal_ThenMoneyShouldBeMultiplied(value: 100.12, multiplier: 0.5, expected: 50.06)
❌ WhenUsingMultiplyMethodWithDecimal_ThenMoneyShouldBeMultiplied(value: 100.12, multiplier: 5, expected: 500.60)
Expected result to be equal to ¤501, but found ¤500.
✅ WhenUsingMultiplyMethodWithInteger_ThenMoneyShouldBeMultiplied(value: -100.12, multiplier: 3, expected: -300.36)
❌ WhenUsingMultiplyMethodWithInteger_ThenMoneyShouldBeMultiplied(value: -100.12, multiplier: 5, expected: -500.60)
Expected result to be equal to (¤501), but found (¤500).
✅ WhenUsingMultiplyMethodWithInteger_ThenMoneyShouldBeMultiplied(value: 10, multiplier: 15, expected: 150)
✅ WhenUsingMultiplyMethodWithInteger_ThenMoneyShouldBeMultiplied(value: 100.12, multiplier: 3, expected: 300.36)
❌ WhenUsingMultiplyMethodWithInteger_ThenMoneyShouldBeMultiplied(value: 100.12, multiplier: 5, expected: 500.60)
Expected result to be equal to ¤501, but found ¤500.
✅ WhenUsingMultiplyOperatorWithDecimal_ThenMoneyShouldBeMultiplied(value: -100.12, multiplier: 0.5, expected: -50.06)
❌ WhenUsingMultiplyOperatorWithDecimal_ThenMoneyShouldBeMultiplied(value: -100.12, multiplier: 5, expected: -500.60)
Expected result1 to be equal to (¤501), but found (¤500).
✅ WhenUsingMultiplyOperatorWithDecimal_ThenMoneyShouldBeMultiplied(value: 10, multiplier: 15, expected: 150)
✅ WhenUsingMultiplyOperatorWithDecimal_ThenMoneyShouldBeMultiplied(value: 100.12, multiplier: 0.5, expected: 50.06)
❌ WhenUsingMultiplyOperatorWithDecimal_ThenMoneyShouldBeMultiplied(value: 100.12, multiplier: 5, expected: 500.60)
Expected result1 to be equal to ¤501, but found ¤500.
✅ WhenUsingMultiplyOperatorWithInteger_ThenMoneyShouldBeMultiplied(value: -100.12, multiplier: 3, expected: -300.36)
❌ WhenUsingMultiplyOperatorWithInteger_ThenMoneyShouldBeMultiplied(value: -100.12, multiplier: 5, expected: -500.60)
Expected result1 to be equal to (¤501), but found (¤500).
✅ WhenUsingMultiplyOperatorWithInteger_ThenMoneyShouldBeMultiplied(value: 10, multiplier: 15, expected: 150)
✅ WhenUsingMultiplyOperatorWithInteger_ThenMoneyShouldBeMultiplied(value: 100.12, multiplier: 3, expected: 300.36)
❌ WhenUsingMultiplyOperatorWithInteger_ThenMoneyShouldBeMultiplied(value: 100.12, multiplier: 5, expected: 500.60)
Expected result1 to be equal to ¤501, but found ¤500.
❌ NodaMoney.Tests.MoneySpec.GivenIWantMoneyWithDifferentRounding
✅ WhenAmountAndCode_ThenItShouldRoundUp
❌ WhenOnlyAmount_ThenItShouldRoundUp
Expected defaultRounding.Amount to be 0.52M, but found 1M (difference of 0.48).
❌ NodaMoney.Tests.MoneySpec.GivenIWantToCreateMoneyWithDoubleValue
✅ WhenValueIsDoubleAndWithCurrency_ThenMoneyShouldBeCorrect(input: 0.029999999999999999, expected: 0.03)
✅ WhenValueIsDoubleAndWithCurrency_ThenMoneyShouldBeCorrect(input: 0.33333333333333331, expected: 0.33)
❌ WhenValueIsDoubleWithoutCurrency_ThenMoneyShouldBeCorrect(input: 0.029999999999999999, expected: 0.03)
Expected money.Amount to be 0.03M, but found 0M (difference of -0.03).
❌ WhenValueIsDoubleWithoutCurrency_ThenMoneyShouldBeCorrect(input: 0.33333333333333331, expected: 0.33)
Expected money.Amount to be 0.33M, but found 0M (difference of -0.33).
❌ NodaMoney.Tests.Serialization.NewtonsoftJsonSerializerSpec.GivenIWantToDeserializeMoney
✅ WhenDeserializing_ThenThisShouldSucceed(json: "{ \"amount\": \"234.25\", \"currency\": \"EUR;ISO-"···, expected: €234.25)
✅ WhenDeserializing_ThenThisShouldSucceed(json: "{ \"Amount\": \"234.25\", \"Currency\": \"EUR;ISO-"···, expected: €234.25)
✅ WhenDeserializing_ThenThisShouldSucceed(json: "{ \"amount\": \"234.25\", \"currency\": \"EUR\" }", expected: €234.25)
✅ WhenDeserializing_ThenThisShouldSucceed(json: "{ \"Amount\": \"234.25\", \"Currency\": \"EUR\" }", expected: €234.25)
✅ WhenDeserializing_ThenThisShouldSucceed(json: "{ \"Amount\": 234.25, \"Currency\": \"EUR;\" }", expected: €234.25)
✅ WhenDeserializing_ThenThisShouldSucceed(json: "{ \"amount\": 234.25, \"currency\": \"EUR;ISO-4217"···, expected: €234.25)
✅ WhenDeserializing_ThenThisShouldSucceed(json: "{ \"Amount\": 234.25, \"Currency\": \"EUR;ISO-4217"···, expected: €234.25)
✅ WhenDeserializing_ThenThisShouldSucceed(json: "{ \"amount\": 234.25, \"currency\": \"EUR\" }", expected: €234.25)
✅ WhenDeserializing_ThenThisShouldSucceed(json: "{ \"Amount\": 234.25, \"Currency\": \"EUR\" }", expected: €234.25)
✅ WhenDeserializing_ThenThisShouldSucceed(json: "{ \"currency\": \"EUR;ISO-4217\", \"amount\": \"23"···, expected: €234.25)
✅ WhenDeserializing_ThenThisShouldSucceed(json: "{ \"Currency\": \"EUR;ISO-4217\", \"Amount\": \"23"···, expected: €234.25)
✅ WhenDeserializing_ThenThisShouldSucceed(json: "{ \"currency\": \"EUR;ISO-4217\", \"amount\": 234."···, expected: €234.25)
✅ WhenDeserializing_ThenThisShouldSucceed(json: "{ \"Currency\": \"EUR;ISO-4217\", \"Amount\": 234."···, expected: €234.25)
✅ WhenDeserializing_ThenThisShouldSucceed(json: "{ \"currency\": \"EUR\", \"amount\": \"234.25\" }", expected: €234.25)
✅ WhenDeserializing_ThenThisShouldSucceed(json: "{ \"Currency\": \"EUR\", \"Amount\": \"234.25\" }", expected: €234.25)
✅ WhenDeserializing_ThenThisShouldSucceed(json: "{ \"currency\": \"EUR\", \"amount\": 234.25 }", expected: €234.25)
✅ WhenDeserializing_ThenThisShouldSucceed(json: "{ \"Currency\": \"EUR\", \"Amount\": 234.25 }", expected: €234.25)
✅ WhenDeserializingWithInvalidJSON_ThenThisShouldFail(json: "{ \"Amount\": \"234.25\" }")
✅ WhenDeserializingWithInvalidJSON_ThenThisShouldFail(json: "{ \"Amount\": \"ABC\", \"Currency\": \"EUR\" }")
✅ WhenDeserializingWithInvalidJSON_ThenThisShouldFail(json: "{ \"amount\": 234.25 }")
✅ WhenDeserializingWithInvalidJSON_ThenThisShouldFail(json: "{ \"Amount\": 234.25 }")
✅ WhenDeserializingWithInvalidJSON_ThenThisShouldFail(json: "{ \"currency\": \"EUR\" }")
✅ WhenDeserializingWithInvalidJSON_ThenThisShouldFail(json: "{ \"Currency\": \"EUR\" }")
✅ WhenDeserializingWithInvalidJSON_ThenThisShouldFail(json: "{ Amount: '234.25' }")
✅ WhenDeserializingWithInvalidJSON_ThenThisShouldFail(json: "{ Amount: \"234.25\" }")
✅ WhenDeserializingWithInvalidJSON_ThenThisShouldFail(json: "{ amount: 234.25 }")
✅ WhenDeserializingWithInvalidJSON_ThenThisShouldFail(json: "{ Amount: 234.25 }")
✅ WhenDeserializingWithInvalidJSON_ThenThisShouldFail(json: "{ currency: 'EUR' }")
✅ WhenDeserializingWithInvalidJSON_ThenThisShouldFail(json: "{ Currency: 'EUR' }")
✅ WhenDeserializingWithInvalidJSON_ThenThisShouldFail(json: "{ currency: \"EUR\" }")
✅ WhenDeserializingWithInvalidJSON_ThenThisShouldFail(json: "{ Currency: \"EUR\" }")
❌ WhenDeserializingWithNested_ThenThisShouldSucceed(json: "{ \"id\": 123, \"name\": \"Abc\", \"price\": { \"a"···, expected: Order { Id = 123, Name = "Abc", Total = €234.25 })
Expected property clone.Total to be €234.25, but found ¤0.
With configuration:
- Use declared types and members
- Compare enums by value
- Compare tuples by their properties
- Compare anonymous types by their properties
- Compare records by their members
- Include non-browsable members
- Match member by name (or throw)
- Be strict about the order of items in byte arrays
- Without automatic conversion.
❌ WhenDeserializingWithNested_ThenThisShouldSucceed(json: "{ \"id\": 123, \"name\": \"Abc\", \"price\": { \"a"···, expected: Order { Id = 123, Name = "Abc", Total = €234.25 })
Expected property clone.Total to be €234.25, but found ¤0.
With configuration:
- Use declared types and members
- Compare enums by value
- Compare tuples by their properties
- Compare anonymous types by their properties
- Compare records by their members
- Include non-browsable members
- Match member by name (or throw)
- Be strict about the order of items in byte arrays
- Without automatic conversion.
❌ WhenDeserializingWithNested_ThenThisShouldSucceed(json: "{ \"Id\": 123, \"Name\": \"Abc\", \"Price\": { \"A"···, expected: Order { Id = 123, Name = "Abc", Total = €234.25 })
Expected property clone.Total to be €234.25, but found ¤0.
With configuration:
- Use declared types and members
- Compare enums by value
- Compare tuples by their properties
- Compare anonymous types by their properties
- Compare records by their members
- Include non-browsable members
- Match member by name (or throw)
- Be strict about the order of items in byte arrays
- Without automatic conversion.
❌ WhenDeserializingWithNested_ThenThisShouldSucceed(json: "{ \"Id\": 123, \"Name\": \"Abc\", \"Price\": { \"A"···, expected: Order { Id = 123, Name = "Abc", Total = €234.25 })
Expected property clone.Total to be €234.25, but found ¤0.
With configuration:
- Use declared types and members
- Compare enums by value
- Compare tuples by their properties
- Compare anonymous types by their properties
- Compare records by their members
- Include non-browsable members
- Match member by name (or throw)
- Be strict about the order of items in byte arrays
- Without automatic conversion.
❌ WhenDeserializingWithNested_ThenThisShouldSucceed(json: "{ \"Id\": 123, \"Name\": \"Abc\", \"Price\": { \"A"···, expected: Order { Id = 123, Name = "Abc", Total = €234.25 })
Expected property clone.Total to be €234.25, but found ¤0.
With configuration:
- Use declared types and members
- Compare enums by value
- Compare tuples by their properties
- Compare anonymous types by their properties
- Compare records by their members
- Include non-browsable members
- Match member by name (or throw)
- Be strict about the order of items in byte arrays
- Without automatic conversion.
❌ WhenDeserializingWithNested_ThenThisShouldSucceed(json: "{ \"Id\": 123, \"Name\": \"Abc\", \"Price\": { \"A"···, expected: Order { Id = 123, Name = "Abc", Total = €234.25 })
Expected property clone.Total to be €234.25, but found ¤0.
With configuration:
- Use declared types and members
- Compare enums by value
- Compare tuples by their properties
- Compare anonymous types by their properties
- Compare records by their members
- Include non-browsable members
- Match member by name (or throw)
- Be strict about the order of items in byte arrays
- Without automatic conversion.
❌ WhenDeserializingWithNested_ThenThisShouldSucceed(json: "{ \"Id\": 123, \"Name\": \"Abc\", \"Price\": { \"C"···, expected: Order { Id = 123, Name = "Abc", Total = €234.25 })
Expected property clone.Total to be €234.25, but found ¤0.
With configuration:
- Use declared types and members
- Compare enums by value
- Compare tuples by their properties
- Compare anonymous types by their properties
- Compare records by their members
- Include non-browsable members
- Match member by name (or throw)
- Be strict about the order of items in byte arrays
- Without automatic conversion.
❌ WhenDeserializingWithNested_ThenThisShouldSucceed(json: "{ \"Id\": 123, \"Name\": \"Abc\", \"Price\": { \"C"···, expected: Order { Id = 123, Name = "Abc", Total = €234.25 })
Expected property clone.Total to be €234.25, but found ¤0.
With configuration:
- Use declared types and members
- Compare enums by value
- Compare tuples by their properties
- Compare anonymous types by their properties
- Compare records by their members
- Include non-browsable members
- Match member by name (or throw)
- Be strict about the order of items in byte arrays
- Without automatic conversion.
❌ NodaMoney.Tests.Serialization.NewtonsoftJsonSerializerSpec.GivenIWantToSerializeMoney
❌ WhenNullableOrder_ThenThisShouldSucceed(money: ¤0, expectedCurrency: "XXX", expectedMoney: "XXX 0")
Expected json to be "{"Id":123,"Name":"Foo","Price":"XXX 0"}" with a length of 39, but "{"Id":123,"Total":{"Amount":0.0,"Currency":"XXX"},"Name":"Foo"}" has a length of 63, differs near "Tot" (index 11).
❌ WhenNullableOrder_ThenThisShouldSucceed(money: $765.43, expectedCurrency: "USD", expectedMoney: "USD 765.43")
Expected json to be "{"Id":123,"Name":"Foo","Price":"USD 765.43"}" with a length of 44, but "{"Id":123,"Total":{"Amount":765.43,"Currency":"USD"},"Name":"Foo"}" has a length of 66, differs near "Tot" (index 11).
❌ WhenNullableOrder_ThenThisShouldSucceed(money: ¥765, expectedCurrency: "JPY", expectedMoney: "JPY 765")
Expected json to be "{"Id":123,"Name":"Foo","Price":"JPY 765"}" with a length of 41, but "{"Id":123,"Total":{"Amount":765.0,"Currency":"JPY"},"Name":"Foo"}" has a length of 65, differs near "Tot" (index 11).
❌ WhenNullableOrder_ThenThisShouldSucceed(money: €765.43, expectedCurrency: "EUR", expectedMoney: "EUR 765.43")
Expected json to be "{"Id":123,"Name":"Foo","Price":"EUR 765.43"}" with a length of 44, but "{"Id":123,"Total":{"Amount":765.43,"Currency":"EUR"},"Name":"Foo"}" has a length of 66, differs near "Tot" (index 11).
❌ WhenNullableOrder_ThenThisShouldSucceed(money: ₿765.43210000, expectedCurrency: "BTC", expectedMoney: "BTC 765.43210000")
Expected json to be "{"Id":123,"Name":"Foo","Price":"BTC 765.43210000"}" with a length of 50, but "{"Id":123,"Total":{"Amount":765.43210000,"Currency":"BTC"},"Name":"Foo"}" has a length of 72, differs near "Tot" (index 11).
❌ WhenNullableOrder_ThenThisShouldSucceed(money: BD765.432, expectedCurrency: "BHD", expectedMoney: "BHD 765.432")
Expected json to be "{"Id":123,"Name":"Foo","Price":"BHD 765.432"}" with a length of 45, but "{"Id":123,"Total":{"Amount":765.432,"Currency":"BHD"},"Name":"Foo"}" has a length of 67, differs near "Tot" (index 11).
❌ WhenOnlyMoney_ThenThisShouldSucceed(money: ¤0, expectedCurrency: "XXX", expectedMoney: "XXX 0")
Expected json to be ""XXX 0"" with a length of 7, but "{"Amount":0.0,"Currency":"XXX"}" has a length of 31, differs near "{"A" (index 0).
❌ WhenOnlyMoney_ThenThisShouldSucceed(money: $765.43, expectedCurrency: "USD", expectedMoney: "USD 765.43")
Expected json to be ""USD 765.43"" with a length of 12, but "{"Amount":765.43,"Currency":"USD"}" has a length of 34, differs near "{"A" (index 0).
❌ WhenOnlyMoney_ThenThisShouldSucceed(money: ¥765, expectedCurrency: "JPY", expectedMoney: "JPY 765")
Expected json to be ""JPY 765"" with a length of 9, but "{"Amount":765.0,"Currency":"JPY"}" has a length of 33, differs near "{"A" (index 0).
❌ WhenOnlyMoney_ThenThisShouldSucceed(money: €765.43, expectedCurrency: "EUR", expectedMoney: "EUR 765.43")
Expected json to be ""EUR 765.43"" with a length of 12, but "{"Amount":765.43,"Currency":"EUR"}" has a length of 34, differs near "{"A" (index 0).
❌ WhenOnlyMoney_ThenThisShouldSucceed(money: ₿765.43210000, expectedCurrency: "BTC", expectedMoney: "BTC 765.43210000")
Expected json to be ""BTC 765.43210000"" with a length of 18, but "{"Amount":765.43210000,"Currency":"BTC"}" has a length of 40, differs near "{"A" (index 0).
❌ WhenOnlyMoney_ThenThisShouldSucceed(money: BD765.432, expectedCurrency: "BHD", expectedMoney: "BHD 765.432")
Expected json to be ""BHD 765.432"" with a length of 13, but "{"Amount":765.432,"Currency":"BHD"}" has a length of 35, differs near "{"A" (index 0).
❌ WhenOrder_ThenThisShouldSucceed(money: ¤0, expectedCurrency: "XXX", expectedMoney: "XXX 0")
Expected json to be "{"Id":123,"Name":"Foo","Total":"XXX 0"}" with a length of 39, but "{"Id":123,"Total":{"Amount":0.0,"Currency":"XXX"},"Name":"Foo"}" has a length of 63, differs near "Tot" (index 11).
❌ WhenOrder_ThenThisShouldSucceed(money: $765.43, expectedCurrency: "USD", expectedMoney: "USD 765.43")
Expected json to be "{"Id":123,"Name":"Foo","Total":"USD 765.43"}" with a length of 44, but "{"Id":123,"Total":{"Amount":765.43,"Currency":"USD"},"Name":"Foo"}" has a length of 66, differs near "Tot" (index 11).
❌ WhenOrder_ThenThisShouldSucceed(money: ¥765, expectedCurrency: "JPY", expectedMoney: "JPY 765")
Expected json to be "{"Id":123,"Name":"Foo","Total":"JPY 765"}" with a length of 41, but "{"Id":123,"Total":{"Amount":765.0,"Currency":"JPY"},"Name":"Foo"}" has a length of 65, differs near "Tot" (index 11).
❌ WhenOrder_ThenThisShouldSucceed(money: €765.43, expectedCurrency: "EUR", expectedMoney: "EUR 765.43")
Expected json to be "{"Id":123,"Name":"Foo","Total":"EUR 765.43"}" with a length of 44, but "{"Id":123,"Total":{"Amount":765.43,"Currency":"EUR"},"Name":"Foo"}" has a length of 66, differs near "Tot" (index 11).
❌ WhenOrder_ThenThisShouldSucceed(money: ₿765.43210000, expectedCurrency: "BTC", expectedMoney: "BTC 765.43210000")
Expected json to be "{"Id":123,"Name":"Foo","Total":"BTC 765.43210000"}" with a length of 50, but "{"Id":123,"Total":{"Amount":765.43210000,"Currency":"BTC"},"Name":"Foo"}" has a length of 72, differs near "Tot" (index 11).
❌ WhenOrder_ThenThisShouldSucceed(money: BD765.432, expectedCurrency: "BHD", expectedMoney: "BHD 765.432")
Expected json to be "{"Id":123,"Name":"Foo","Total":"BHD 765.432"}" with a length of 45, but "{"Id":123,"Total":{"Amount":765.432,"Currency":"BHD"},"Name":"Foo"}" has a length of 67, differs near "Tot" (index 11).
✅ WhenSerializingCurrency_ThenThisShouldSucceed(money: ¤0, expectedCurrency: "XXX", expectedMoney: "XXX 0")
✅ WhenSerializingCurrency_ThenThisShouldSucceed(money: $765.43, expectedCurrency: "USD", expectedMoney: "USD 765.43")
✅ WhenSerializingCurrency_ThenThisShouldSucceed(money: ¥765, expectedCurrency: "JPY", expectedMoney: "JPY 765")
✅ WhenSerializingCurrency_ThenThisShouldSucceed(money: €765.43, expectedCurrency: "EUR", expectedMoney: "EUR 765.43")
✅ WhenSerializingCurrency_ThenThisShouldSucceed(money: ₿765.43210000, expectedCurrency: "BTC", expectedMoney: "BTC 765.43210000")
✅ WhenSerializingCurrency_ThenThisShouldSucceed(money: BD765.432, expectedCurrency: "BHD", expectedMoney: "BHD 765.432")
❌ NodaMoney.Tests.Serialization.RavenDbSerializationSpec.GivenIWantToStoreInRavenDb
❌ WhenMoneyAsRoot_ThenThisMustWork
System.InvalidOperationException : Unable to start the RavenDB Server
Output:
_____ _____ ____
| __ \ | __ \| _ \
| |__) |__ ___ _____ _ __ | | | | |_) |
| _ // _` \ \ / / _ \ '_ \| | | | _ <
| | \ \ (_| |\ V / __/ | | | |__| | |_) |
|_| \_\__,_| \_/ \___|_| |_|_____/|____/
Safe by default, optimized for efficiency
Build 62005, Version 6.2, SemVer 6.2.1, Commit 8428b32
PID 2723, 64 bits, 4 Cores, Phys Mem 15.606 GBytes, Arch: X64
Source Code (git repo): https://github.com/ravendb/ravendb
Built with love by Hibernating Rhinos and awesome contributors!
+---------------------------------------------------------------+
The RavenDB server cannot start due to a missing license. Please review the details below to resolve the issue:
We attempted to obtain a valid license using the configuration key 'License', but this process was not successful for the following reason:
- The license is not provided in the configuration or environment variable.
We attempted to obtain a valid license using the configuration key 'License.Path', but this process was not successful for the following reason:
- An error occurred while trying to read the license from the file:
Could not find file '/home/runner/work/NodaMoney/NodaMoney/tests/NodaMoney.Tests/bin/Release/net9.0/RavenDBServer/license.json'.
To resolve this issue, you may consider the following options:
- Ensure your license key is correctly embedded in 'settings.json', set as an environment variable, or included in your 'ServerOptions' if using an embedded server or Raven.TestDriver.
- Alternatively, check the 'License.Path' in your configuration to ensure it points to a valid 'license.json' file.
- Configure the 'License.ThrowOnInvalidOrMissingLicense' option by setting it to 'False' to disable this strict licensing requirement for server startup.
Raven.Client.Exceptions.Server.ServerLoadFailureException: Failed to load system storage
At :memory:
---> Raven.Server.Commercial.LicenseExpiredException: The RavenDB server cannot start due to a missing license. Please review the details below to resolve the issue:
We attempted to obtain a valid license using the configuration key 'License', but this process was not successful for the following reason:
- The license is not provided in the configuration or environment variable.
We attempted to obtain a valid license using the configuration key 'License.Path', but this process was not successful for the following reason:
- An error occurred while trying to read the license from the file:
Could not find file '/home/runner/work/NodaMoney/NodaMoney/tests/NodaMoney.Tests/bin/Release/net9.0/RavenDBServer/license.json'.
To resolve this issue, you may consider the following options:
- Ensure your license key is correctly embedded in 'settings.json', set as an environment variable, or included in your 'ServerOptions' if using an embedded server or Raven.TestDriver.
- Alternatively, check the 'License.Path' in your configuration to ensure it points to a valid 'license.json' file.
- Configure the 'License.ThrowOnInvalidOrMissingLicense' option by setting it to 'False' to disable this strict licensing requirement for server startup.
at Raven.Server.RavenServer.VerifyLicense(StorageEnvironment storageEnvironment) in /_/62005/src/Raven.Server/RavenServer.cs:line 3277
at Voron.StorageEnvironment.CreateNewDatabase() in /_/62005/src/Voron/StorageEnvironment.cs:line 473
at Voron.StorageEnvironment..ctor(StorageEnvironmentOptions options) in /_/62005/src/Voron/StorageEnvironment.cs:line 171
at Raven.Server.Storage.Layout.StorageLoader.OpenEnvironment(StorageEnvironmentOptions options, StorageEnvironmentType type) in /_/62005/src/Raven.Server/Storage/Layout/StorageLoader.cs:line 21
at Raven.Server.ServerWide.ServerStore.PreInitialize() in /_/62005/src/Raven.Server/ServerWide/ServerStore.cs:line 818
--- End of inner exception stack trace ---
at Raven.Server.ServerWide.ServerStore.PreInitialize() in /_/62005/src/Raven.Server/ServerWide/ServerStore.cs:line 822
at Raven.Server.RavenServer.Initialize() in /_/62005/src/Raven.Server/RavenServer.cs:line 207
at Raven.Server.Program.Main(String[] args) in /_/62005/src/Raven.Server/Program.cs:line 210
❌ WhenObjectWithMoneyAttribute_ThenThisMustWork
System.InvalidOperationException : Unable to start the RavenDB Server
Output:
_____ _____ ____
| __ \ | __ \| _ \
| |__) |__ ___ _____ _ __ | | | | |_) |
| _ // _` \ \ / / _ \ '_ \| | | | _ <
| | \ \ (_| |\ V / __/ | | | |__| | |_) |
|_| \_\__,_| \_/ \___|_| |_|_____/|____/
Safe by default, optimized for efficiency
Build 62005, Version 6.2, SemVer 6.2.1, Commit 8428b32
PID 2723, 64 bits, 4 Cores, Phys Mem 15.606 GBytes, Arch: X64
Source Code (git repo): https://github.com/ravendb/ravendb
Built with love by Hibernating Rhinos and awesome contributors!
+---------------------------------------------------------------+
The RavenDB server cannot start due to a missing license. Please review the details below to resolve the issue:
We attempted to obtain a valid license using the configuration key 'License', but this process was not successful for the following reason:
- The license is not provided in the configuration or environment variable.
We attempted to obtain a valid license using the configuration key 'License.Path', but this process was not successful for the following reason:
- An error occurred while trying to read the license from the file:
Could not find file '/home/runner/work/NodaMoney/NodaMoney/tests/NodaMoney.Tests/bin/Release/net9.0/RavenDBServer/license.json'.
To resolve this issue, you may consider the following options:
- Ensure your license key is correctly embedded in 'settings.json', set as an environment variable, or included in your 'ServerOptions' if using an embedded server or Raven.TestDriver.
- Alternatively, check the 'License.Path' in your configuration to ensure it points to a valid 'license.json' file.
- Configure the 'License.ThrowOnInvalidOrMissingLicense' option by setting it to 'False' to disable this strict licensing requirement for server startup.
Raven.Client.Exceptions.Server.ServerLoadFailureException: Failed to load system storage
At :memory:
---> Raven.Server.Commercial.LicenseExpiredException: The RavenDB server cannot start due to a missing license. Please review the details below to resolve the issue:
We attempted to obtain a valid license using the configuration key 'License', but this process was not successful for the following reason:
- The license is not provided in the configuration or environment variable.
We attempted to obtain a valid license using the configuration key 'License.Path', but this process was not successful for the following reason:
- An error occurred while trying to read the license from the file:
Could not find file '/home/runner/work/NodaMoney/NodaMoney/tests/NodaMoney.Tests/bin/Release/net9.0/RavenDBServer/license.json'.
To resolve this issue, you may consider the following options:
- Ensure your license key is correctly embedded in 'settings.json', set as an environment variable, or included in your 'ServerOptions' if using an embedded server or Raven.TestDriver.
- Alternatively, check the 'License.Path' in your configuration to ensure it points to a valid 'license.json' file.
- Configure the 'License.ThrowOnInvalidOrMissingLicense' option by setting it to 'False' to disable this strict licensing requirement for server startup.
at Raven.Server.RavenServer.VerifyLicense(StorageEnvironment storageEnvironment) in /_/62005/src/Raven.Server/RavenServer.cs:line 3277
at Voron.StorageEnvironment.CreateNewDatabase() in /_/62005/src/Voron/StorageEnvironment.cs:line 473
at Voron.StorageEnvironment..ctor(StorageEnvironmentOptions options) in /_/62005/src/Voron/StorageEnvironment.cs:line 171
at Raven.Server.Storage.Layout.StorageLoader.OpenEnvironment(StorageEnvironmentOptions options, StorageEnvironmentType type) in /_/62005/src/Raven.Server/Storage/Layout/StorageLoader.cs:line 21
at Raven.Server.ServerWide.ServerStore.PreInitialize() in /_/62005/src/Raven.Server/ServerWide/ServerStore.cs:line 818
--- End of inner exception stack trace ---
at Raven.Server.ServerWide.ServerStore.PreInitialize() in /_/62005/src/Raven.Server/ServerWide/ServerStore.cs:line 822
at Raven.Server.RavenServer.Initialize() in /_/62005/src/Raven.Server/RavenServer.cs:line 207
at Raven.Server.Program.Main(String[] args) in /_/62005/src/Raven.Server/Program.cs:line 210
❌ NodaMoney.Tests.Serialization.SystemTextJsonSerializationSpec.GivenIWantToDeserializeMoney
✅ WhenDeserializing_ThenThisShouldSucceed(json: "{ \"amount\": \"234.25\", \"currency\": \"EUR;ISO-"···, expected: €234.25)
✅ WhenDeserializing_ThenThisShouldSucceed(json: "{ \"Amount\": \"234.25\", \"Currency\": \"EUR;ISO-"···, expected: €234.25)
✅ WhenDeserializing_ThenThisShouldSucceed(json: "{ \"amount\": \"234.25\", \"currency\": \"EUR\" }", expected: €234.25)
✅ WhenDeserializing_ThenThisShouldSucceed(json: "{ \"Amount\": \"234.25\", \"Currency\": \"EUR\" }", expected: €234.25)
✅ WhenDeserializing_ThenThisShouldSucceed(json: "{ \"Amount\": 234.25, \"Currency\": \"EUR;\" }", expected: €234.25)
✅ WhenDeserializing_ThenThisShouldSucceed(json: "{ \"amount\": 234.25, \"currency\": \"EUR;ISO-4217"···, expected: €234.25)
✅ WhenDeserializing_ThenThisShouldSucceed(json: "{ \"Amount\": 234.25, \"Currency\": \"EUR;ISO-4217"···, expected: €234.25)
✅ WhenDeserializing_ThenThisShouldSucceed(json: "{ \"amount\": 234.25, \"currency\": \"EUR\" }", expected: €234.25)
✅ WhenDeserializing_ThenThisShouldSucceed(json: "{ \"Amount\": 234.25, \"Currency\": \"EUR\" }", expected: €234.25)
✅ WhenDeserializing_ThenThisShouldSucceed(json: "{ \"currency\": \"EUR;ISO-4217\", \"amount\": \"23"···, expected: €234.25)
✅ WhenDeserializing_ThenThisShouldSucceed(json: "{ \"Currency\": \"EUR;ISO-4217\", \"Amount\": \"23"···, expected: €234.25)
✅ WhenDeserializing_ThenThisShouldSucceed(json: "{ \"currency\": \"EUR;ISO-4217\", \"amount\": 234."···, expected: €234.25)
✅ WhenDeserializing_ThenThisShouldSucceed(json: "{ \"Currency\": \"EUR;ISO-4217\", \"Amount\": 234."···, expected: €234.25)
✅ WhenDeserializing_ThenThisShouldSucceed(json: "{ \"currency\": \"EUR\", \"amount\": \"234.25\" }", expected: €234.25)
✅ WhenDeserializing_ThenThisShouldSucceed(json: "{ \"Currency\": \"EUR\", \"Amount\": \"234.25\" }", expected: €234.25)
✅ WhenDeserializing_ThenThisShouldSucceed(json: "{ \"currency\": \"EUR\", \"amount\": 234.25 }", expected: €234.25)
✅ WhenDeserializing_ThenThisShouldSucceed(json: "{ \"Currency\": \"EUR\", \"Amount\": 234.25 }", expected: €234.25)
✅ WhenDeserializingWithInvalidJSON_ThenThisShouldFail(json: "{ \"Amount\": \"234.25\" }")
✅ WhenDeserializingWithInvalidJSON_ThenThisShouldFail(json: "{ \"Amount\": \"ABC\", \"Currency\": \"EUR\" }")
✅ WhenDeserializingWithInvalidJSON_ThenThisShouldFail(json: "{ \"amount\": 234.25 }")
✅ WhenDeserializingWithInvalidJSON_ThenThisShouldFail(json: "{ \"Amount\": 234.25 }")
✅ WhenDeserializingWithInvalidJSON_ThenThisShouldFail(json: "{ \"currency\": \"EUR\" }")
✅ WhenDeserializingWithInvalidJSON_ThenThisShouldFail(json: "{ \"Currency\": \"EUR\" }")
✅ WhenDeserializingWithInvalidJSON_ThenThisShouldFail(json: "{ Amount: '234.25' }")
✅ WhenDeserializingWithInvalidJSON_ThenThisShouldFail(json: "{ Amount: \"234.25\" }")
✅ WhenDeserializingWithInvalidJSON_ThenThisShouldFail(json: "{ amount: 234.25 }")
✅ WhenDeserializingWithInvalidJSON_ThenThisShouldFail(json: "{ Amount: 234.25 }")
✅ WhenDeserializingWithInvalidJSON_ThenThisShouldFail(json: "{ currency: 'EUR' }")
✅ WhenDeserializingWithInvalidJSON_ThenThisShouldFail(json: "{ Currency: 'EUR' }")
✅ WhenDeserializingWithInvalidJSON_ThenThisShouldFail(json: "{ currency: \"EUR\" }")
✅ WhenDeserializingWithInvalidJSON_ThenThisShouldFail(json: "{ Currency: \"EUR\" }")
❌ WhenDeserializingWithNested_ThenThisShouldSucceed(json: "{ \"id\": 123, \"name\": \"Abc\", \"price\": { \"a"···, expected: Order { Id = 123, Name = "Abc", Total = €234.25 })
Expected property clone.Total to be €234.25, but found ¤0.
With configuration:
- Use declared types and members
- Compare enums by value
- Compare tuples by their properties
- Compare anonymous types by their properties
- Compare records by their members
- Include non-browsable members
- Match member by name (or throw)
- Be strict about the order of items in byte arrays
- Without automatic conversion.
❌ WhenDeserializingWithNested_ThenThisShouldSucceed(json: "{ \"id\": 123, \"name\": \"Abc\", \"price\": { \"a"···, expected: Order { Id = 123, Name = "Abc", Total = €234.25 })
Expected property clone.Total to be €234.25, but found ¤0.
With configuration:
- Use declared types and members
- Compare enums by value
- Compare tuples by their properties
- Compare anonymous types by their properties
- Compare records by their members
- Include non-browsable members
- Match member by name (or throw)
- Be strict about the order of items in byte arrays
- Without automatic conversion.
❌ WhenDeserializingWithNested_ThenThisShouldSucceed(json: "{ \"Id\": 123, \"Name\": \"Abc\", \"Price\": { \"A"···, expected: Order { Id = 123, Name = "Abc", Total = €234.25 })
Expected property clone.Total to be €234.25, but found ¤0.
With configuration:
- Use declared types and members
- Compare enums by value
- Compare tuples by their properties
- Compare anonymous types by their properties
- Compare records by their members
- Include non-browsable members
- Match member by name (or throw)
- Be strict about the order of items in byte arrays
- Without automatic conversion.
❌ WhenDeserializingWithNested_ThenThisShouldSucceed(json: "{ \"Id\": 123, \"Name\": \"Abc\", \"Price\": { \"A"···, expected: Order { Id = 123, Name = "Abc", Total = €234.25 })
Expected property clone.Total to be €234.25, but found ¤0.
With configuration:
- Use declared types and members
- Compare enums by value
- Compare tuples by their properties
- Compare anonymous types by their properties
- Compare records by their members
- Include non-browsable members
- Match member by name (or throw)
- Be strict about the order of items in byte arrays
- Without automatic conversion.
❌ WhenDeserializingWithNested_ThenThisShouldSucceed(json: "{ \"Id\": 123, \"Name\": \"Abc\", \"Price\": { \"A"···, expected: Order { Id = 123, Name = "Abc", Total = €234.25 })
Expected property clone.Total to be €234.25, but found ¤0.
With configuration:
- Use declared types and members
- Compare enums by value
- Compare tuples by their properties
- Compare anonymous types by their properties
- Compare records by their members
- Include non-browsable members
- Match member by name (or throw)
- Be strict about the order of items in byte arrays
- Without automatic conversion.
❌ WhenDeserializingWithNested_ThenThisShouldSucceed(json: "{ \"Id\": 123, \"Name\": \"Abc\", \"Price\": { \"A"···, expected: Order { Id = 123, Name = "Abc", Total = €234.25 })
Expected property clone.Total to be €234.25, but found ¤0.
With configuration:
- Use declared types and members
- Compare enums by value
- Compare tuples by their properties
- Compare anonymous types by their properties
- Compare records by their members
- Include non-browsable members
- Match member by name (or throw)
- Be strict about the order of items in byte arrays
- Without automatic conversion.
❌ WhenDeserializingWithNested_ThenThisShouldSucceed(json: "{ \"Id\": 123, \"Name\": \"Abc\", \"Price\": { \"C"···, expected: Order { Id = 123, Name = "Abc", Total = €234.25 })
Expected property clone.Total to be €234.25, but found ¤0.
With configuration:
- Use declared types and members
- Compare enums by value
- Compare tuples by their properties
- Compare anonymous types by their properties
- Compare records by their members
- Include non-browsable members
- Match member by name (or throw)
- Be strict about the order of items in byte arrays
- Without automatic conversion.
❌ WhenDeserializingWithNested_ThenThisShouldSucceed(json: "{ \"Id\": 123, \"Name\": \"Abc\", \"Price\": { \"C"···, expected: Order { Id = 123, Name = "Abc", Total = €234.25 })
Expected property clone.Total to be €234.25, but found ¤0.
With configuration:
- Use declared types and members
- Compare enums by value
- Compare tuples by their properties
- Compare anonymous types by their properties
- Compare records by their members
- Include non-browsable members
- Match member by name (or throw)
- Be strict about the order of items in byte arrays
- Without automatic conversion.
❌ NodaMoney.Tests.Serialization.SystemTextJsonSerializationSpec.GivenIWantToSerializeMoney
❌ WhenNullableOrder_ThenThisShouldSucceed(money: ¤0, expectedCurrency: "XXX", expectedMoney: "XXX 0")
Expected json to be "{"Id":123,"Name":"Foo","Total":"XXX 0" with a length of 37, but "{"Id":123,"Total":"XXX 0","Name":"Foo"}" has a length of 39, differs near "Tot" (index 11).
❌ WhenNullableOrder_ThenThisShouldSucceed(money: $765.43, expectedCurrency: "USD", expectedMoney: "USD 765.43")
Expected json to be "{"Id":123,"Name":"Foo","Total":"USD 765.43" with a length of 42, but "{"Id":123,"Total":"USD 765.43","Name":"Foo"}" has a length of 44, differs near "Tot" (index 11).
❌ WhenNullableOrder_ThenThisShouldSucceed(money: ¥765, expectedCurrency: "JPY", expectedMoney: "JPY 765")
Expected json to be "{"Id":123,"Name":"Foo","Total":"JPY 765" with a length of 39, but "{"Id":123,"Total":"JPY 765","Name":"Foo"}" has a length of 41, differs near "Tot" (index 11).
❌ WhenNullableOrder_ThenThisShouldSucceed(money: €765.43, expectedCurrency: "EUR", expectedMoney: "EUR 765.43")
Expected json to be "{"Id":123,"Name":"Foo","Total":"EUR 765.43" with a length of 42, but "{"Id":123,"Total":"EUR 765.43","Name":"Foo"}" has a length of 44, differs near "Tot" (index 11).
❌ WhenNullableOrder_ThenThisShouldSucceed(money: ₿765.43210000, expectedCurrency: "BTC", expectedMoney: "BTC 765.43210000")
Expected json to be "{"Id":123,"Name":"Foo","Total":"BTC 765.43210000" with a length of 48, but "{"Id":123,"Total":"BTC 765.43210000","Name":"Foo"}" has a length of 50, differs near "Tot" (index 11).
❌ WhenNullableOrder_ThenThisShouldSucceed(money: BD765.432, expectedCurrency: "BHD", expectedMoney: "BHD 765.432")
Expected json to be "{"Id":123,"Name":"Foo","Total":"BHD 765.432" with a length of 43, but "{"Id":123,"Total":"BHD 765.432","Name":"Foo"}" has a length of 45, differs near "Tot" (index 11).
✅ WhenOnlyMoney_ThenThisShouldSucceed(money: ¤0, expectedCurrency: "XXX", expectedMoney: "XXX 0")
✅ WhenOnlyMoney_ThenThisShouldSucceed(money: $765.43, expectedCurrency: "USD", expectedMoney: "USD 765.43")
✅ WhenOnlyMoney_ThenThisShouldSucceed(money: ¥765, expectedCurrency: "JPY", expectedMoney: "JPY 765")
✅ WhenOnlyMoney_ThenThisShouldSucceed(money: €765.43, expectedCurrency: "EUR", expectedMoney: "EUR 765.43")
✅ WhenOnlyMoney_ThenThisShouldSucceed(money: ₿765.43210000, expectedCurrency: "BTC", expectedMoney: "BTC 765.43210000")
✅ WhenOnlyMoney_ThenThisShouldSucceed(money: BD765.432, expectedCurrency: "BHD", expectedMoney: "BHD 765.432")
❌ WhenOrderWithPriceAndNullableDiscount_ThenThisShouldSucceed(money: ¤0, expectedCurrency: "XXX", expectedMoney: "XXX 0")
Expected json to be "{"Id":123,"Name":"Foo","Total":"XXX 0","Discount":null}" with a length of 55, but "{"Id":123,"Total":"XXX 0","Name":"Foo"}" has a length of 39, differs near "Tot" (index 11).
❌ WhenOrderWithPriceAndNullableDiscount_ThenThisShouldSucceed(money: $765.43, expectedCurrency: "USD", expectedMoney: "USD 765.43")
Expected json to be "{"Id":123,"Name":"Foo","Total":"USD 765.43","Discount":null}" with a length of 60, but "{"Id":123,"Total":"USD 765.43","Name":"Foo"}" has a length of 44, differs near "Tot" (index 11).
❌ WhenOrderWithPriceAndNullableDiscount_ThenThisShouldSucceed(money: ¥765, expectedCurrency: "JPY", expectedMoney: "JPY 765")
Expected json to be "{"Id":123,"Name":"Foo","Total":"JPY 765","Discount":null}" with a length of 57, but "{"Id":123,"Total":"JPY 765","Name":"Foo"}" has a length of 41, differs near "Tot" (index 11).
❌ WhenOrderWithPriceAndNullableDiscount_ThenThisShouldSucceed(money: €765.43, expectedCurrency: "EUR", expectedMoney: "EUR 765.43")
Expected json to be "{"Id":123,"Name":"Foo","Total":"EUR 765.43","Discount":null}" with a length of 60, but "{"Id":123,"Total":"EUR 765.43","Name":"Foo"}" has a length of 44, differs near "Tot" (index 11).
❌ WhenOrderWithPriceAndNullableDiscount_ThenThisShouldSucceed(money: ₿765.43210000, expectedCurrency: "BTC", expectedMoney: "BTC 765.43210000")
Expected json to be "{"Id":123,"Name":"Foo","Total":"BTC 765.43210000","Discount":null}" with a length of 66, but "{"Id":123,"Total":"BTC 765.43210000","Name":"Foo"}" has a length of 50, differs near "Tot" (index 11).
❌ WhenOrderWithPriceAndNullableDiscount_ThenThisShouldSucceed(money: BD765.432, expectedCurrency: "BHD", expectedMoney: "BHD 765.432")
Expected json to be "{"Id":123,"Name":"Foo","Total":"BHD 765.432","Discount":null}" with a length of 61, but "{"Id":123,"Total":"BHD 765.432","Name":"Foo"}" has a length of 45, differs near "Tot" (index 11).
❌ WhenSerializingCurrency_ThenThisShouldSucceed(money: ¤0, expectedCurrency: "XXX", expectedMoney: "XXX 0")
Expected json to be ""XXX"" with a length of 5, but "{"Code":"XXX","IsIso4217":true,"MinimalAmount":1,"Symbol":"\u00A4"}" has a length of 67, differs near "{"C" (index 0).
❌ WhenSerializingCurrency_ThenThisShouldSucceed(money: $765.43, expectedCurrency: "USD", expectedMoney: "USD 765.43")
Expected json to be ""USD"" with a length of 5, but "{"Code":"USD","IsIso4217":true,"MinimalAmount":0.01,"Symbol":"$"}" has a length of 65, differs near "{"C" (index 0).
❌ WhenSerializingCurrency_ThenThisShouldSucceed(money: ¥765, expectedCurrency: "JPY", expectedMoney: "JPY 765")
Expected json to be ""JPY"" with a length of 5, but "{"Code":"JPY","IsIso4217":true,"MinimalAmount":1,"Symbol":"\u00A5"}" has a length of 67, differs near "{"C" (index 0).
❌ WhenSerializingCurrency_ThenThisShouldSucceed(money: €765.43, expectedCurrency: "EUR", expectedMoney: "EUR 765.43")
Expected json to be ""EUR"" with a length of 5, but "{"Code":"EUR","IsIso4217":true,"MinimalAmount":0.01,"Symbol":"\u20AC"}" has a length of 70, differs near "{"C" (index 0).
❌ WhenSerializingCurrency_ThenThisShouldSucceed(money: ₿765.43210000, expectedCurrency: "BTC", expectedMoney: "BTC 765.43210000")
Expected json to be ""BTC"" with a length of 5, but "{"Code":"BTC","IsIso4217":true,"MinimalAmount":0.00000001,"Symbol":"\u20BF"}" has a length of 76, differs near "{"C" (index 0).
❌ WhenSerializingCurrency_ThenThisShouldSucceed(money: BD765.432, expectedCurrency: "BHD", expectedMoney: "BHD 765.432")
Expected json to be ""BHD"" with a length of 5, but "{"Code":"BHD","IsIso4217":true,"MinimalAmount":0.001,"Symbol":"BD"}" has a length of 67, differs near "{"C" (index 0).
❌ ./artifacts/_fv-az1771-126_2024-12-04_04_36_42.trx
651 tests were completed in 9s with 565 passed, 82 failed and 4 skipped.
Report exceeded GitHub limit of 65535 bytes and has been trimmed
Annotations
Check failure on line 71 in tests/NodaMoney.Tests/CurrencyBuilderSpec.cs
github-actions / unittests
NodaMoney.Tests.CurrencyBuilderSpec.GivenIWantToCreateCustomCurrency ► WhenBuildBitCoin_ThenItShouldSucceedButNotBeRegistered
Failed test found in:
./artifacts/_fv-az1771-126_2024-12-04_04_36_40.trx
./artifacts/_fv-az1771-126_2024-12-04_04_36_42.trx
Error:
NodaMoney.InvalidCurrencyException : BTD is unknown currency code!
Raw output
NodaMoney.InvalidCurrencyException : BTD is unknown currency code!
at NodaMoney.CurrencyRegistry.Get(String code) in /_/src/NodaMoney/CurrencyRegistry.cs:line 44
at NodaMoney.CurrencyInfo.FromCode(String code) in /_/src/NodaMoney/CurrencyInfo.cs:line 162
at NodaMoney.Currency.get_Symbol() in /_/src/NodaMoney/Currency.cs:line 89
at NodaMoney.Tests.CurrencyBuilderSpec.GivenIWantToCreateCustomCurrency.WhenBuildBitCoin_ThenItShouldSucceedButNotBeRegistered() in /home/runner/work/NodaMoney/NodaMoney/tests/NodaMoney.Tests/CurrencyBuilderSpec.cs:line 71
at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
Check failure on line 14 in tests/NodaMoney.Tests/CurrencyBuilderSpec.cs
github-actions / unittests
NodaMoney.Tests.CurrencyBuilderSpec.GivenIWantToCreateCustomCurrency ► WhenRegisterAsSimpleAsPossible_ThenShouldBeAvailableWithDefaults
Failed test found in:
./artifacts/_fv-az1771-126_2024-12-04_04_36_40.trx
./artifacts/_fv-az1771-126_2024-12-04_04_36_42.trx
Error:
NodaMoney.InvalidCurrencyException : The currency BTA is already registered in ISO-4217.
Raw output
NodaMoney.InvalidCurrencyException : The currency BTA is already registered in ISO-4217.
at NodaMoney.CurrencyBuilder.Register() in /_/src/NodaMoney/CurrencyBuilder.cs:line 139
at NodaMoney.Tests.CurrencyBuilderSpec.GivenIWantToCreateCustomCurrency.WhenRegisterAsSimpleAsPossible_ThenShouldBeAvailableWithDefaults() in /home/runner/work/NodaMoney/NodaMoney/tests/NodaMoney.Tests/CurrencyBuilderSpec.cs:line 14
at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
Check failure on line 55 in tests/NodaMoney.Tests/CurrencyBuilderSpec.cs
github-actions / unittests
NodaMoney.Tests.CurrencyBuilderSpec.GivenIWantToCreateCustomCurrency ► WhenRegisterBitCoin_ThenShouldBeAvailableByExplicitNamespace
Failed test found in:
./artifacts/_fv-az1771-126_2024-12-04_04_36_40.trx
./artifacts/_fv-az1771-126_2024-12-04_04_36_42.trx
Error:
Expected bitcoin.Symbol to be "฿", but "₿" differs near "₿" (index 0).
Raw output
Expected bitcoin.Symbol to be "฿", but "₿" differs near "₿" (index 0).
at FluentAssertions.Execution.XUnit2TestFramework.Throw(String message)
at FluentAssertions.Execution.TestFrameworkProvider.Throw(String message)
at FluentAssertions.Execution.DefaultAssertionStrategy.HandleFailure(String message)
at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
at FluentAssertions.Execution.AssertionScope.FailWith(String message, Object[] args)
at FluentAssertions.Primitives.StringEqualityValidator.ValidateAgainstMismatch()
at FluentAssertions.Primitives.StringValidator.Validate()
at FluentAssertions.Primitives.StringAssertions`1.Be(String expected, String because, Object[] becauseArgs)
at NodaMoney.Tests.CurrencyBuilderSpec.GivenIWantToCreateCustomCurrency.WhenRegisterBitCoin_ThenShouldBeAvailableByExplicitNamespace() in /home/runner/work/NodaMoney/NodaMoney/tests/NodaMoney.Tests/CurrencyBuilderSpec.cs:line 55
at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
Check failure on line 33 in tests/NodaMoney.Tests/CurrencyBuilderSpec.cs
github-actions / unittests
NodaMoney.Tests.CurrencyBuilderSpec.GivenIWantToCreateCustomCurrency ► WhenRegisterBitCoinInIsoNamespace_ThenShouldBeAvailable
Failed test found in:
./artifacts/_fv-az1771-126_2024-12-04_04_36_40.trx
./artifacts/_fv-az1771-126_2024-12-04_04_36_42.trx
Error:
NodaMoney.InvalidCurrencyException : The currency BTB is already registered in ISO-4217.
Raw output
NodaMoney.InvalidCurrencyException : The currency BTB is already registered in ISO-4217.
at NodaMoney.CurrencyBuilder.Register() in /_/src/NodaMoney/CurrencyBuilder.cs:line 139
at NodaMoney.Tests.CurrencyBuilderSpec.GivenIWantToCreateCustomCurrency.WhenRegisterBitCoinInIsoNamespace_ThenShouldBeAvailable() in /home/runner/work/NodaMoney/NodaMoney/tests/NodaMoney.Tests/CurrencyBuilderSpec.cs:line 33
at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
Check failure on line 107 in tests/NodaMoney.Tests/CurrencyBuilderSpec.cs
github-actions / unittests
NodaMoney.Tests.CurrencyBuilderSpec.GivenIWantToCreateCustomCurrency ► WhenRegisterExistingCurrency_ThenThrowException
Failed test found in:
./artifacts/_fv-az1771-126_2024-12-04_04_36_40.trx
./artifacts/_fv-az1771-126_2024-12-04_04_36_42.trx
Error:
Expected a <NodaMoney.InvalidCurrencyException> to be thrown, but no exception was thrown.
Raw output
Expected a <NodaMoney.InvalidCurrencyException> to be thrown, but no exception was thrown.
at FluentAssertions.Execution.XUnit2TestFramework.Throw(String message)
at FluentAssertions.Execution.TestFrameworkProvider.Throw(String message)
at FluentAssertions.Execution.DefaultAssertionStrategy.HandleFailure(String message)
at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
at FluentAssertions.Execution.AssertionScope.FailWith(String message)
at FluentAssertions.Specialized.DelegateAssertionsBase`2.ThrowInternal[TException](Exception exception, String because, Object[] becauseArgs)
at FluentAssertions.Specialized.DelegateAssertions`2.Throw[TException](String because, Object[] becauseArgs)
at NodaMoney.Tests.CurrencyBuilderSpec.GivenIWantToCreateCustomCurrency.WhenRegisterExistingCurrency_ThenThrowException() in /home/runner/work/NodaMoney/NodaMoney/tests/NodaMoney.Tests/CurrencyBuilderSpec.cs:line 107
at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
Check failure on line 145 in tests/NodaMoney.Tests/CurrencyBuilderSpec.cs
github-actions / unittests
NodaMoney.Tests.CurrencyBuilderSpec.GivenIWantToCreateCustomCurrency ► WhenSymbolIsEmpty_ThenSymbolMustBeDefaultCurrencySign
Failed test found in:
./artifacts/_fv-az1771-126_2024-12-04_04_36_40.trx
./artifacts/_fv-az1771-126_2024-12-04_04_36_42.trx
Error:
NodaMoney.InvalidCurrencyException : The currency BTH is already registered in ISO-4217.
Raw output
NodaMoney.InvalidCurrencyException : The currency BTH is already registered in ISO-4217.
at NodaMoney.CurrencyBuilder.Register() in /_/src/NodaMoney/CurrencyBuilder.cs:line 139
at NodaMoney.Tests.CurrencyBuilderSpec.GivenIWantToCreateCustomCurrency.WhenSymbolIsEmpty_ThenSymbolMustBeDefaultCurrencySign() in /home/runner/work/NodaMoney/NodaMoney/tests/NodaMoney.Tests/CurrencyBuilderSpec.cs:line 145
at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
Check failure on line 246 in tests/NodaMoney.Tests/CurrencyBuilderSpec.cs
github-actions / unittests
NodaMoney.Tests.CurrencyBuilderSpec.GivenIWantToReplaceIsoCurrencyWithOwnVersion ► WhenReplacingEuroWithCustom_ThenThisShouldSucceed
Failed test found in:
./artifacts/_fv-az1771-126_2024-12-04_04_36_40.trx
./artifacts/_fv-az1771-126_2024-12-04_04_36_42.trx
Error:
NodaMoney.InvalidCurrencyException : Currency { Code = PAB, IsIso4217 = True, MinimalAmount = 0.01, Symbol = B/. } is unknown currency code!
Raw output
NodaMoney.InvalidCurrencyException : Currency { Code = PAB, IsIso4217 = True, MinimalAmount = 0.01, Symbol = B/. } is unknown currency code!
at NodaMoney.CurrencyRegistry.Get(Currency currency) in /_/src/NodaMoney/CurrencyRegistry.cs:line 53
at NodaMoney.CurrencyInfo.FromCurrencyUnit(Currency currency) in /_/src/NodaMoney/CurrencyInfo.cs:line 164
at NodaMoney.CurrencyBuilder.LoadDataFromCurrency(Currency currency) in /_/src/NodaMoney/CurrencyBuilder.cs:line 168
at NodaMoney.Tests.CurrencyBuilderSpec.GivenIWantToReplaceIsoCurrencyWithOwnVersion.WhenReplacingEuroWithCustom_ThenThisShouldSucceed() in /home/runner/work/NodaMoney/NodaMoney/tests/NodaMoney.Tests/CurrencyBuilderSpec.cs:line 246
at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
Check failure on line 200 in tests/NodaMoney.Tests/CurrencyBuilderSpec.cs
github-actions / unittests
NodaMoney.Tests.CurrencyBuilderSpec.GivenIWantToUnregisterCurrency ► WhenCurrencyDoesNotExist_ThenThrowException
Failed test found in:
./artifacts/_fv-az1771-126_2024-12-04_04_36_40.trx
Error:
Expected exception message to match the equivalent of "*specifies a currency that is not found*", but "ABC is unknown currency code!" does not.
Raw output
Expected exception message to match the equivalent of "*specifies a currency that is not found*", but "ABC is unknown currency code!" does not.
at FluentAssertions.Execution.XUnit2TestFramework.Throw(String message)
at FluentAssertions.Execution.TestFrameworkProvider.Throw(String message)
at FluentAssertions.Execution.CollectingAssertionStrategy.ThrowIfAny(IDictionary`2 context)
at FluentAssertions.Execution.AssertionScope.Dispose()
at FluentAssertions.Specialized.ExceptionAssertions`1.ExceptionMessageAssertion.Execute(IEnumerable`1 messages, String expectation, String because, Object[] becauseArgs)
at FluentAssertions.Specialized.ExceptionAssertions`1.ExceptionMessageAssertion.Execute(IEnumerable`1 messages, String expectation, String because, Object[] becauseArgs)
at FluentAssertions.Specialized.ExceptionAssertions`1.WithMessage(String expectedWildcardPattern, String because, Object[] becauseArgs)
at NodaMoney.Tests.CurrencyBuilderSpec.GivenIWantToUnregisterCurrency.WhenCurrencyDoesNotExist_ThenThrowException() in /home/runner/work/NodaMoney/NodaMoney/tests/NodaMoney.Tests/CurrencyBuilderSpec.cs:line 200
at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
Check failure on line 184 in tests/NodaMoney.Tests/CurrencyBuilderSpec.cs
github-actions / unittests
NodaMoney.Tests.CurrencyBuilderSpec.GivenIWantToUnregisterCurrency ► WhenUnregisterCustomCurrency_ThenThisMustSucceed
Failed test found in:
./artifacts/_fv-az1771-126_2024-12-04_04_36_40.trx
./artifacts/_fv-az1771-126_2024-12-04_04_36_42.trx
Error:
NodaMoney.InvalidCurrencyException : The currency XYZ is already registered in virtual.
Raw output
NodaMoney.InvalidCurrencyException : The currency XYZ is already registered in virtual.
at NodaMoney.CurrencyBuilder.Register() in /_/src/NodaMoney/CurrencyBuilder.cs:line 139
at NodaMoney.Tests.CurrencyBuilderSpec.GivenIWantToUnregisterCurrency.WhenUnregisterCustomCurrency_ThenThisMustSucceed() in /home/runner/work/NodaMoney/NodaMoney/tests/NodaMoney.Tests/CurrencyBuilderSpec.cs:line 184
at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
Check failure on line 170 in tests/NodaMoney.Tests/CurrencyBuilderSpec.cs
github-actions / unittests
NodaMoney.Tests.CurrencyBuilderSpec.GivenIWantToUnregisterCurrency ► WhenUnregisterIsoCurrency_ThenThisMustSucceed
Failed test found in:
./artifacts/_fv-az1771-126_2024-12-04_04_36_40.trx
./artifacts/_fv-az1771-126_2024-12-04_04_36_42.trx
Error:
Expected a <NodaMoney.InvalidCurrencyException> to be thrown, but no exception was thrown.
Raw output
Expected a <NodaMoney.InvalidCurrencyException> to be thrown, but no exception was thrown.
at FluentAssertions.Execution.XUnit2TestFramework.Throw(String message)
at FluentAssertions.Execution.TestFrameworkProvider.Throw(String message)
at FluentAssertions.Execution.DefaultAssertionStrategy.HandleFailure(String message)
at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
at FluentAssertions.Execution.AssertionScope.FailWith(String message)
at FluentAssertions.Specialized.DelegateAssertionsBase`2.ThrowInternal[TException](Exception exception, String because, Object[] becauseArgs)
at FluentAssertions.Specialized.DelegateAssertions`2.Throw[TException](String because, Object[] becauseArgs)
at NodaMoney.Tests.CurrencyBuilderSpec.GivenIWantToUnregisterCurrency.WhenUnregisterIsoCurrency_ThenThisMustSucceed() in /home/runner/work/NodaMoney/NodaMoney/tests/NodaMoney.Tests/CurrencyBuilderSpec.cs:line 170
at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
Check failure on line 286 in tests/NodaMoney.Tests/CurrencyInfoSpec.cs
github-actions / unittests
NodaMoney.Tests.CurrencyInfoSpec.GivenIWantToInitiateInternallyACurrency ► WhenCodeIsNull_ThenCreatingShouldThrow
Failed test found in:
./artifacts/_fv-az1771-126_2024-12-04_04_36_40.trx
./artifacts/_fv-az1771-126_2024-12-04_04_36_42.trx
Error:
Expected a <System.ArgumentException> to be thrown, but no exception was thrown.
Raw output
Expected a <System.ArgumentException> to be thrown, but no exception was thrown.
at FluentAssertions.Execution.XUnit2TestFramework.Throw(String message)
at FluentAssertions.Execution.TestFrameworkProvider.Throw(String message)
at FluentAssertions.Execution.DefaultAssertionStrategy.HandleFailure(String message)
at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
at FluentAssertions.Execution.AssertionScope.FailWith(String message)
at FluentAssertions.Specialized.DelegateAssertionsBase`2.ThrowInternal[TException](Exception exception, String because, Object[] becauseArgs)
at FluentAssertions.Specialized.DelegateAssertions`2.Throw[TException](String because, Object[] becauseArgs)
at NodaMoney.Tests.CurrencyInfoSpec.GivenIWantToInitiateInternallyACurrency.WhenCodeIsNull_ThenCreatingShouldThrow() in /home/runner/work/NodaMoney/NodaMoney/tests/NodaMoney.Tests/CurrencyInfoSpec.cs:line 286
at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)