簡體   English   中英

JUnit 最大值/最小值

[英]JUnit max/min values

如何從 Map 值測試 Bigdecimal 最大值?

我最初使用 Object 映射器到 map 字符串。

字符串包含特定貨幣的日期和匯率。

我想創建一個測試最大值/最小值的方法。

很高興知道測試 LocalDate 的方法。

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

我希望我能正確回答您的問題:

響應UtilTest.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());
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM