在arrayStack和LinkedStack中编写junit测试和方法

时间:2019-02-17 01:15:54

标签: java junit

我有一个创建size方法的作业,但是我不完全了解如何为我的junit测试制作Assert.assertEquals。在作业中,它希望我创建一个返回int的整数,该整数等于堆栈上的项目数。我必须为我的junit测试创建一个test_size,但是我不知道在junit测试中要放什么。

讲师要我更改断言中的某些内容,但我不明白这是什么意思。如果有人可以解释该怎么做,那太好了。

 *   test sizeIs on an empty stack
 *     a stack with one element
 *     a stack with many (but less than full) elements
 *     and a "full" ArrayStack 
 */

@Test  
public void test_toString_on_an_emptyStack() {

    Assert.assertEquals("Empty String", stk1.sizeIs());

}

@Test  
public void test_toString_on_a_stack_with_1_element() {

    stk1.push(5);

    Assert.assertEquals("bottom|5|top", stk1.sizeIs());
}

@Test  
public void test_toString_on_a_stack_with_multiple_elements() {

    stk1.push(5); stk1.push(4); stk1.push(3);

    Assert.assertEquals("bottom|5|4|3|top", stk1.sizeIs());
}   

@Test  
public void test_toString_on_a_full_stack() {

    stk1.push(1); stk1.push(2); stk1.push(3); stk1.push(4); stk1.push(5);

    Assert.assertEquals("bottom|1|2|3|4|5|top", stk1.sizeIs());
}   

1 个答案:

答案 0 :(得分:1)

在这个答案中,我假设您的sizeIs()方法返回一些整数值。 然后,您必须像下面这样写我们的断言,

@Test
public void test_method_when_stackIsFull() {

    stk1.push(1); 
    stk1.push(2); 
    stk1.push(3); 
    stk1.push(4); 
    stk1.push(5);

    Assert.assertEquals(5, stk1.sizeIs());
}