Guava范围匹配-Range类使用案例

范围开集, 不包含 端点1和端点10

@DisplayName("(1..10)    { x | < x < b}")
@Test
void testOpen() {
    Console.log(Range.open(1, 10));
    assertTrue(Range.open(1, 10).contains(9), "不包含!");
}

范围闭集, 包含 端点1和端点10

@DisplayName("[1..10]    { x | <= x <= b}")
@Test
void testClosed() {
    Console.log(Range.closed(1, 10));
    assertTrue(Range.closed(1, 10).contains(10), "不包含!");
}

范围闭开集, 包含 端点1 但不包含 端点10

@DisplayName("[1..10)    { x | <= x < b}")
@Test
void testClosedOpen() {
    Console.log(Range.closedOpen(1, 10));
    assertTrue(Range.closedOpen(1, 10).contains(1), "不包含!");
}

范围开闭集, 不包含 端点1 但包含 端点10

@DisplayName("(1..10]    { x | < x <= b}")
@Test
void testOpenClosed() {
    Console.log(Range.openClosed(1, 10));
    assertTrue(Range.openClosed(1, 10).contains(10), "不包含!");
}

范围, 不包含 端点1 但包含 端点至+∞

@DisplayName("(1..+∞)    { x | x > a}")
@Test
void testGreaterThan() {
    Console.log(Range.greaterThan(1));
    assertTrue(Range.greaterThan(1).contains(2), "不包含!");
}

范围, 包含 端点-∞ 但不包含 端点至10

@DisplayName("(-∞..10)    { x | x < a}")
@Test
void testLessThan() {
    Console.log(Range.lessThan(10));
    assertTrue(Range.lessThan(10).contains(9), "不包含!");
}

范围, 不包含 端点1 但包含 端点至+∞

@DisplayName("[1..+∞)    { x | x => a}")
@Test
void testAtLast() {
    Console.log(Range.atLeast(1));
    assertTrue(Range.atLeast(1).contains(1), "不包含!");
}

范围, 包含 端点-∞ 但不包含 端点至10

@DisplayName("(-∞..10]    { x | x <= a}")
@Test
void testAtMost() {
    Console.log(Range.atMost(10));
    assertTrue(Range.atMost(10).contains(10), "不包含!");
}

downTo: 不包含1,1往后并不包含+∞

@DisplayName("(1..+∞)    { x | x > a}")
@Test
void testDownTo() {
    Console.log(Range.downTo(1, BoundType.OPEN));
    assertTrue(Range.downTo(1, BoundType.OPEN).contains(1000000000), "不包含!");
}

范围, 包含 端点-∞ 但不包含 端点至10

@DisplayName("[-∞..10)    { x | x <= a}")
@Test
void testUpTo() {
    Console.log(Range.upTo(10, BoundType.CLOSED));
    assertTrue(Range.upTo(10, BoundType.CLOSED).contains(10), "不包含!");
}

范围, 包含 端点1 包含 端点至10, 开闭关系由 BoundType 枚举而定

@DisplayName("[1..10]    { x | a <= x <= b}")
@Test
void testRange() {
    Console.log(Range.range(1, BoundType.CLOSED,10, BoundType.CLOSED));
    assertTrue(Range.range(10, BoundType.CLOSED, 10, BoundType.CLOSED).contains(10), "不包含!");
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ProgramZen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值