EasyMock API中的WTF时刻?这种逻辑甚至可能吗?

时间:2011-12-15 14:07:38

标签: java easymock

今天我在Easymock API中遇到了这套看似有趣的期望制定者 '和{期望设定者为longshortdoubleboolean,......

一个例子

public static long and(long first,
                   long second)

Expects a long that matches both given expectations.

Parameters:
    first - placeholder for the first expectation.
    second - placeholder for the second expectation. 
Returns:
    0.

这甚至可能吗? 例如,如何长1L和2​​L 同样的wtf适用于booleanshortdoubleint,...

我的思绪被吹了!

2 个答案:

答案 0 :(得分:2)

在我看来,为了满足二元运算符采用两个参数和处理本机类型的能力的一般要求,最终会测试一些无关的条件。

因此,这些方法的存在使得EasyMock成为常规,而不是允许您测试long可以同时保存两个可能相互矛盾的值。

答案 1 :(得分:1)

我花了一段时间来搞清楚它并且我仍然不确定如何和(布尔值,布尔值)应该如何工作但是这个片段显示了和(长,长)的用法

/** */
@Test
public void andCanBeUsedToCheckForRanges(){
    class A{
        void foo(Long arg){};
    }

    A a = createMock(A.class);
    a.foo(and(gt(5L), lt(7L)));

    replay(a);
    a.foo(6L);
    verify(a);
}