JUnit максимальные / минимальные значения - PullRequest
0 голосов
/ 23 сентября 2019

Как мне проверить значение Bigdecimal max из значений Map?

Я изначально использовал Object mapper для сопоставления строк.

В строках содержались дата и курс для конкретной валюты.

Я хотел бы создать метод, который проверяет максимальные / минимальные значения.

было бы здорово узнать подход к тестированию LocalDate.

Map.Entry<LocalDate, BigDecimal> getMinRate(Response response) {
        return Collections.min(response.getBpi().entrySet(), Map.Entry.comparingByValue());
    }

1 Ответ

1 голос
/ 23 сентября 2019

Надеюсь, я правильно понял ваш вопрос:

ResponseUtilTest.class

import org.junit.Test;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.HashMap;
import java.util.Map;
import static org.junit.Assert.assertEquals;

public class ResponseUtilTest {

    @Test
    public void bigDecimalIsMinimumAndLocalDateAreValid() {
        ResponseUtil responseUtil = new ResponseUtil();
        Map<LocalDate, BigDecimal> bpi = new HashMap<>();
        bpi.put(LocalDate.of(2018, 10, 23), BigDecimal.valueOf(10));
        bpi.put(LocalDate.of(2018, 10, 22), BigDecimal.valueOf(20));
        bpi.put(LocalDate.of(2018, 10, 21), BigDecimal.valueOf(30));

        Map.Entry<LocalDate, BigDecimal> minRate = responseUtil.getMinRate(new Response(bpi));

        assertEquals(LocalDate.of(2018, 10, 23), minRate.getKey());
        assertEquals(BigDecimal.valueOf(10), minRate.getValue());
    }
}

ResponseUtil.class

import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Collections;
import java.util.Map;

public class ResponseUtil {
    Map.Entry<LocalDate, BigDecimal> getMinRate(Response response) {
        return Collections.min(response.getBpi().entrySet(), Map.Entry.comparingByValue());
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...