package org.javamoney.moneta.convert; import org.javamoney.moneta.Money; import javax.money.CurrencyUnit; import javax.money.Monetary; import javax.money.MonetaryAmount; import java.math.BigDecimal; import java.util.stream.Stream; public final class StreamFactory { static final CurrencyUnit EURO = Monetary.getCurrency("EUR"); static final CurrencyUnit DOLLAR = Monetary.getCurrency("USD"); static final CurrencyUnit BRAZILIAN_REAL = Monetary .getCurrency("BRL"); /** * Private constructor. */ private StreamFactory(){} public static Stream<MonetaryAmount> streamCurrencyDifferent() { Money m1 = Money.of(BigDecimal.TEN, BRAZILIAN_REAL); Money m2 = Money.of(BigDecimal.ZERO, BRAZILIAN_REAL); Money m3 = Money.of(BigDecimal.ONE, BRAZILIAN_REAL); Money m4 = Money.of(BigDecimal.valueOf(4L), EURO); Money m5 = Money.of(BigDecimal.valueOf(5L), BRAZILIAN_REAL); return Stream.of(m1, m2, m3, m4, m5); } public static Stream<MonetaryAmount> currencies() { Money r1 = Money.of(BigDecimal.TEN, BRAZILIAN_REAL); Money r2 = Money.of(BigDecimal.ZERO, BRAZILIAN_REAL); Money r3 = Money.of(BigDecimal.ONE, BRAZILIAN_REAL); Money e1 = Money.of(BigDecimal.TEN, EURO); Money e2 = Money.of(BigDecimal.ZERO, EURO); Money e3 = Money.of(BigDecimal.ONE, EURO); Money d1 = Money.of(BigDecimal.TEN, DOLLAR); Money d2 = Money.of(BigDecimal.ZERO, DOLLAR); Money d3 = Money.of(BigDecimal.ONE, DOLLAR); return Stream.of(r1, r2, r3, e1, e2, e3, d1, d2, d3); } public static Stream<MonetaryAmount> currenciesToSummary() { Money r1 = Money.of(BigDecimal.TEN, BRAZILIAN_REAL); Money r2 = Money.of(BigDecimal.ZERO, BRAZILIAN_REAL); Money r3 = Money.of(BigDecimal.ONE, BRAZILIAN_REAL); Money r4 = Money.of(BigDecimal.ONE, BRAZILIAN_REAL); Money r5 = Money.of(BigDecimal.ONE, BRAZILIAN_REAL); Money r6 = Money.of(BigDecimal.ONE, BRAZILIAN_REAL); Money r7 = Money.of(BigDecimal.ONE, BRAZILIAN_REAL); Money r8 = Money.of(BigDecimal.ONE, BRAZILIAN_REAL); Money e1 = Money.of(BigDecimal.TEN, EURO); Money d1 = Money.of(BigDecimal.ONE, DOLLAR); return Stream.of(r1, r2, r3, r4, r5, r6, r7, r8, e1, d1); } public static Stream<MonetaryAmount> streamNormal() { Money m1 = Money.of(BigDecimal.TEN, BRAZILIAN_REAL); Money m2 = Money.of(BigDecimal.ZERO, BRAZILIAN_REAL); Money m3 = Money.of(BigDecimal.ONE, BRAZILIAN_REAL); Money m4 = Money.of(BigDecimal.valueOf(4L), BRAZILIAN_REAL); Money m5 = Money.of(BigDecimal.valueOf(5L), BRAZILIAN_REAL); return Stream.of(m1, m2, m3, m4, m5); } public static Stream<MonetaryAmount> streamNull() { Money m1 = Money.of(BigDecimal.TEN, BRAZILIAN_REAL); Money m2 = Money.of(BigDecimal.ZERO, BRAZILIAN_REAL); Money m3 = Money.of(BigDecimal.ONE, BRAZILIAN_REAL); Money m4 = Money.of(BigDecimal.valueOf(4L), BRAZILIAN_REAL); Money m5 = Money.of(BigDecimal.valueOf(5L), BRAZILIAN_REAL); return Stream.of(m1, m2, m3, m4, m5, null); } }