20162320刘先润第三周Bag类测试

前言

以下内容是本周Bag代码的课后作业,要求是完成伪代码、产品代码和测试代码,为了书写方便我将伪代码以注释的形式写在了产品代码的后面

测试步骤

1.首先对Bag类引用BagInterface的代码进行复写
2.查阅读Baginterface中需要实现方法的要求,并查找ArrayList中方法的说明,写出如下代码

public class Bag<T> implements BagInterface<T> { //公共接口
       ArrayList<T>  lxr=new ArrayList<T>();//新声明一个变量

    @Override
    public int getCurrentSize() {//返回lxr的容量
        return lxr.size();
    }

    @Override
    public boolean isEmpty() {//检查Bag是否为空

        return lxr.isEmpty();
    }

    @Override
    public boolean add(T newEntry) {//增加一个可进行添加任何东西T的方法add
        lxr.add(newEntry);
        return false;
    }

    @Override
    public T remove() {

        return null;
    }

    @Override
    public boolean remove(T anEntry) {//移除anEntry
        lxr.remove(anEntry);
        return false;
    }

    @Override
    public void clear() {//移除列表的所有元素
     lxr.clear();
    }

    @Override
    public int getFrequencyOf(T anEntry) {//返回一个元素在Bag中出现的次数
        int a=0;
        for(int i=0;i<lxr.size();i++)
        {
            if (anEntry==lxr.get(i)){
                a++;
            }

        }
        return a;
    }

    @Override
    public boolean contains(T anEntry) {//如果此列表中包含指定的元素,则返回 true。
        lxr.contains(anEntry);
        return false;
    }
}

3.编写JUNIT3测试代码
首先在Bag中放入6个元素,为了方便测试,删去最后一个元素

 Bag mybags = new Bag();
    mybags.add("book1");
    mybags.add("book2");
    mybags.add("book3");
    mybags.add("book4");
    mybags.add("book1");
    mybags.add("SB");
    mybags.remove("SB");

然后测试getCurrentSize(),assertEquals(5,mybags.getCurrentSize());测试是否为5个元素。
测试bag中的内容是否为空,assertEquals(mybags.isEmpty(),false);
测试add方法,检查Bag中是否含有book1,assertEquals(true,mybags.contains("book1"));
测试remove方法,检查Bag中是否含有“SB”,assertEquals(true,mybags.contains("SB"));
测试GetFrequencyOf,检查book1出现的次数是否为2,assertEquals(2,mybags.getFrequencyOf("book1"));

最后测试clear方法

    mybags.clear();
    assertEquals(true,mybags.isEmpty());


测试完成

我的码云Bag

测试代码

posted @ 2017-09-24 17:42  润润大魔王  阅读(197)  评论(0编辑  收藏  举报