private static MonetaryAmount[] of(final MonetaryAmount[] array) { for (int i = 0; i < array.length; i++) { array[i] = of(array[i]); } return array; }
@Test public void toStringShowsUsableInput() { assertThat(MoneyImpl.ofCents(123456, "EUR").toString()).isEqualTo("EUR 1234.56"); assertThat(MoneyImpl.of(MoneyImpl.ofCents(123456, "EUR")).toString()).isEqualTo("EUR 1234.56"); } }
@Test public void ofCentsStringAndCurrencyCode() { final MonetaryAmount amount = MoneyImpl.ofCentsAndCurrencyCode("123456", "EUR"); assertThat(amount).isEqualTo(MoneyImpl.of(new BigDecimal("1234.56"), EUR)); }
@JsonIgnore public static Price of(final BigDecimal amount, final CurrencyUnit currencyUnit) { return of(MoneyImpl.of(amount, currencyUnit)); } }
@Test public void yen() throws Exception { assertThat(MoneyImpl.ofCents(123456, "JPY")).isEqualTo(MoneyImpl.of(123456, Monetary.getCurrency("JPY"))); assertThat(MoneyImpl.of(123456, Monetary.getCurrency("JPY")).query(MonetaryQueries.extractMajorPart())).isEqualTo(123456); assertThat(MoneyImpl.of(123456, Monetary.getCurrency("JPY")).query(MonetaryQueries.extractMajorPart())).isEqualTo(123456); assertThat(MoneyImpl.of(new BigDecimal("1234.56"), Monetary.getCurrency("JPY")).query(MonetaryQueries.extractMajorPart())).isEqualTo(1234); assertThat(MoneyImpl.of(new BigDecimal("1234.56"), Monetary.getCurrency("JPY")).query(MonetaryQueries.extractMinorPart())).isEqualTo(0); }
@JsonIgnore public static Price of(final BigDecimal amount, final CurrencyUnit currencyUnit) { return of(MoneyImpl.of(amount, currencyUnit)); } }
@JsonIgnore static PriceDraftDsl of(final BigDecimal amount, final CurrencyUnit currencyUnit) { return of(MoneyImpl.of(amount, currencyUnit)); }
@JsonIgnore static PriceDraftDsl of(final BigDecimal amount, final CurrencyUnit currencyUnit) { return of(MoneyImpl.of(amount, currencyUnit)); }
@JsonIgnore public static PriceDraftDsl of(final BigDecimal amount, final CurrencyUnit currencyUnit) { return of(MoneyImpl.of(amount, currencyUnit)); }
@Override public MonetaryAmount[] divideAndRemainder(long divisor) { return of(money.divideAndRemainder(divisor)); }
@Override public MonetaryAmount deserialize(final JsonParser jsonParser, final DeserializationContext deserializationContext) throws IOException { final MoneyRepresentation moneyRepresentation = deserializationContext.readValue(jsonParser, MoneyRepresentation.class); final BigDecimal amount = new BigDecimal(moneyRepresentation.getCentAmount()).divide(new BigDecimal(100)); final String currencyCode = moneyRepresentation.getCurrencyCode(); return MoneyImpl.of(amount, currencyCode); } }
public static MonetaryAmount of(final BigDecimal amount, final String currencyCode) { final CurrencyUnit currency = CurrencyUnitBuilder.of(currencyCode, CurrencyContextBuilder.of("default").build()).build(); return MoneyImpl.of(amount, currency); } }
public static CustomLineItemDraft createCustomLineItemDraft(final TaxCategory taxCategory) { final MonetaryAmount money = MoneyImpl.of(new BigDecimal("23.50"), EUR); return CustomLineItemDraft.of(en("thing"), "thing-slug", money, taxCategory, 5L, null); } }
@Test public void serializeWithMorePrecision() throws Exception { final String json = "{\"type\":\"centPrecision\",\"centAmount\":1234568,\"currencyCode\":\"EUR\"}";//rounds up checkSerialization(MoneyImpl.of(new BigDecimal("12345.6789"), EUR), json); }
@Test public void addPriceYen() throws Exception { final PriceDraft expectedPrice = PriceDraft.of(MoneyImpl.of(new BigDecimal("12345"), "JPY")); testAddPrice(expectedPrice); }
@Test public void moneyAttribute() throws Exception { testSingleAndSet(AttributeAccess.ofMoney(), AttributeAccess.ofMoneySet(), asSet(MoneyImpl.of(355, EUR), MoneyImpl.of(98774, EUR)), MoneyAttributeType.of(), AttributeDefinitionBuilder.of("money-attribute", LABEL, MoneyAttributeType.of()).build()); }
@Test public void changeValue() throws Exception { withPersistentCartDiscount(client(), cartDiscount -> { final CartDiscountValue newValue = CartDiscountValue.ofAbsolute(MoneyImpl.of(randomInt(), EUR)); assertThat(cartDiscount.getValue()).isNotEqualTo(newValue); final CartDiscount updatedDiscount = client().executeBlocking(CartDiscountUpdateCommand.of(cartDiscount, ChangeValue.of(newValue))); assertThat(updatedDiscount.getValue()).isEqualTo(newValue); }); }
@Test public void addPriceWithValidityPeriod() throws Exception { final PriceDraft expectedPrice = PriceDraft.of(MoneyImpl.of(123, EUR)) .withValidFrom(SphereTestUtils.now()) .withValidUntil(SphereTestUtils.now().withZoneSameLocal(ZoneOffset.UTC).plusHours(2)); testAddPrice(expectedPrice); }
@Test(expected = NotFoundException.class) public void executeInvalidQuery(){ withUpdateableProductDiscount(client(),((productDiscount, product) -> { final ProductVariant masterVariant = product.getMasterData().getStaged().getMasterVariant(); final Price invalidPice = Price.of(MoneyImpl.of(0, DefaultCurrencyUnits.USD)); final ProductDiscount queryedProductDiscount = client().executeBlocking(MatchingProductDiscountGet.of(product.getId(), masterVariant.getId(), true, invalidPice)); return productDiscount; })); }