/** * Chooses one of the given generators according to their frequency. * Only generators with positive frequencies ares used in returned * generator. * * @param generators A non-empty traversable of Tuples (frequency, generator) * @param <T> Type to be generated * @return A new T generator * @throws java.lang.NullPointerException if generators is null * @throws java.lang.IllegalArgumentException if generators doesn't contain any generator with positive frequency */ static <T> Gen<T> frequency(Iterable<Tuple2<Integer, Gen<T>>> generators) { Objects.requireNonNull(generators, "generators is null"); final Vector<Tuple2<Integer, Gen<T>>> filtered = Iterator.ofAll(generators) .filter(t -> t._1() > 0).toVector(); if (filtered.isEmpty()) { throw new IllegalArgumentException("no generator with positive weight"); } final int size = filtered.map(t -> t._1).sum().intValue(); return choose(1, size).flatMap(n -> GenModule.frequency(n, filtered.iterator())); }
Optional<Loan> getLoanFromCache(final int loanId) { final Tuple2<Loan, Instant> result = storage.get(loanId); if (result == null || isExpired(result)) { LOGGER.trace("Miss for loan #{}.", loanId); return Optional.empty(); } else { LOGGER.trace("Hit for loan #{}.", loanId); return Optional.of(result._1()); } }
Optional<Loan> getLoan(final int loanId) { final Tuple2<Loan, Instant> result = callLocked(() -> cache.get().get(loanId)); if (result == null || isExpired(result)) { LOGGER.trace("Cache miss for loan #{}.", loanId); return Optional.empty(); } else { return Optional.of(result._1()); } }
public Card dealOneCard(List<Card> stack) { Tuple2<Card, ? extends List<Card>> cardTuple2 = stack.pop2(); stack = cardTuple2._2(); return cardTuple2._1(); }
public Card dealOneCard(List<Card> stack) { Tuple2<Card, List<Card>> cardTuple2 = stack.pop2(); stack = cardTuple2._2(); return cardTuple2._1(); }
@Bean InitializingBean initDB() { return () -> HashMap.of(123, "ololo", 456, "trololo") .map((orderNumber, description) -> Tuple.of(BigDecimal.valueOf(orderNumber * System.currentTimeMillis() / 1234567890.987654321), singletonList(description))) .map(t -> Order.of(OrderNumber.of(t._1().intValue()), Price.of(t._1()))) .forEach(orderRepository::save); } }
public List<Set<Card>> dealHands(List<Card> shuffled, int hands, int cardsPerHand) { List<Set<Card>> list = List.empty(); for (int i = 0; i < hands; i++) { Tuple2<Set<Card>, List<Card>> tuple2 = this.deal(shuffled, cardsPerHand); shuffled = tuple2._2(); list = list.append(tuple2._1()); } return list; }
public List<Set<Card>> dealHands( List<Card> shuffled, int hands, int cardsPerHand) { List<Set<Card>> list = List.empty(); for (int i = 0; i < hands; i++) { Tuple2<Set<Card>, ? extends List<Card>> tuple2 = this.deal(shuffled, cardsPerHand); shuffled = tuple2._2(); list = list.append(tuple2._1()); } return list; }
public Tuple2<Set<Card>, ? extends List<Card>> deal(List<Card> stack, int count) { var hand = HashSet.<Card>empty(); for (int i = 0; i < count; i++) { var cardTuple2 = stack.pop2(); stack = cardTuple2._2(); hand = hand.add(cardTuple2._1()); } return Tuple.of(hand, stack); }
public Tuple2<Set<Card>, ? extends List<Card>> deal(List<Card> stack, int count) { Set<Card> hand = HashSet.empty(); for (int i = 0; i < count; i++) { Tuple2<Card, ? extends List<Card>> cardTuple2 = stack.pop2(); stack = cardTuple2._2(); hand = hand.add(cardTuple2._1()); } return Tuple.of(hand, stack); }
public Tuple2<Set<Card>, List<Card>> deal(List<Card> stack, int count) { Set<Card> hand = HashSet.empty(); for (int i = 0; i < count; i++) { Tuple2<Card, List<Card>> cardTuple2 = stack.pop2(); stack = cardTuple2._2(); hand = hand.add(cardTuple2._1()); } return Tuple.of(hand, stack); }
public Tuple2<Set<Card>, ? extends List<Card>> deal(List<Card> stack, int count) { Set<Card> hand = HashSet.empty(); for (int i = 0; i < count; i++) { Tuple2<Card, ? extends List<Card>> cardTuple2 = stack.pop2(); stack = cardTuple2._2(); hand = hand.add(cardTuple2._1()); } return Tuple.of(hand, stack); }
protected void verifySerialization(TypeReference<?> typeReference, List<Tuple2<?, String>> testValues) throws IOException { ObjectWriter writer = mapper().writerFor(typeReference); for (Tuple2<?, String> testValue : testValues) { Object src = testValue._1(); String expectedJson = testValue._2(); String json = writer.writeValueAsString(src); Assert.assertEquals(expectedJson, json); Object dst = mapper().readValue(json, typeReference); Assert.assertEquals(src, dst); } }