java接口测试 10 接口测试

test类:

package test;


public class test {
	
public static void main(String[] args) {
	
	int array[] = new int [] {11,22,33};  //这里就是默认10个元素的存储空间
	
	ArrayList list = new ArrayList();
	list.add(11);
	list.add(22);
	list.add(33);
	list.remove(0);
	list.set(3, 80);
	System.out.println(list);   //默认打印的是类名
	System.out.println(list.toString());  
	
	//测试方法
	/*if(list.get(3)!=80) {
		throw new IllegalArgumentException("测试不通过");
	}*/
	
	Assert.test(list.get(3)== 80);
}
}

这里如果测试,添加删除后数据是否正确:可以写测试方法:

if(list.get(3)!=80) {
		throw new IllegalArgumentException("测试不通过");
	}

如果不正确就抛出异常。

所以可以专门写一个测试类:

Assert:

package test;

public class Assert {
	public static void test(boolean value) {
		try {
			if(!value) throw new Exception("测试未通过");
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

}

直接调用:
Assert.test(list.get(3)== 80);

就可以了。

下面附:自己写的数组各种方法:

ArrayList:(在test中直接调用就可以)

package test;

public class ArrayList {
	//该看10了
	
	/**
	 * 元素的数量
	 */
	private int size;
	/**
	 * 所有的元素
	 */
	private int[] elements;
	
	private static final int DEFAULT_CAPACITY = 10;
	private static final int ELEMENT_NOT_FOUND = -1;
	public ArrayList(int capaticy) {
		capaticy = (capaticy < DEFAULT_CAPACITY) ? DEFAULT_CAPACITY : capaticy;  //如果参进去的参数小于10,则默认10
		elements =  new int[capaticy];                                //否则大于10就按照传进去的参数计算。
	}
	
	public ArrayList() {
		this(DEFAULT_CAPACITY);   //这个无参直接调用有参
	}
	

	
	/**
	 * 清除所有元素
	 */
	public void clear() {
		size = 0;
	}

	/**
	 * 元素的数量
	 * @return
	 */
	public int size() {
		return size;
	}
	

	/**
	 * 是否为空
	 * @return
	 */
	public boolean isEmpty() {
		return size == 0;
	}

	/**
	 * 是否包含某个元素
	 * @param element
	 * @return
	 */
	public boolean contains(int element) {
		return indexOf(element) != ELEMENT_NOT_FOUND;
	}
	/**
	 * 添加元素到尾部
	 * @param element
	 */
	public void add(int element) {
		add(size,element);
	}

	/**
	 * 获取index位置的元素
	 * @param index
	 * @return
	 */
	public int get(int index) {
		rangeCheck(index);
		return elements[index];
	}

	/**
	 * 设置index位置的元素
	 * @param index
	 * @param element
	 * @return 原来的元素ֵ
	 */
	public int set(int index, int element) {
		rangeCheck(index);
		int old = elements[index];
		elements[index] = element;
		return old;
	}

	/**
	 * 在index位置插入一个元素
	 * @param index
	 * @param element
	 */
	public void add(int index, int element) {
		rangeCheckForAdd(index);
		for (int i = index; i < size-1; i--) {
			elements[i+1] = elements[i];
		}
		elements[index]= element;
		size++;
	}

	/**
	 * 删除index位置的元素
	 * @param index
	 * @return
	 */
	public int remove(int index) {
		rangeCheck(index);
		int old = elements[index];
		for (int i = index+1; i < size -1; i++) {
			elements[i-1]=elements[i];
		}
		size--;
		return old;
	}

	/**
	 * 查看元素的索引
	 * @param element
	 * @return
	 */
	public int indexOf(int element) {
		for(int i = 0;i< size; i++) {
			if(elements[i] == element) {
				return i;
			}
		}
		return ELEMENT_NOT_FOUND;
	}
	

	@Override
	public String toString() {
		StringBuilder string = new StringBuilder();
		string.append("size=").append(size).append(",[");
		for(int i=0;i<size;i++) {
			if (i!=0) {
				string.append(", ");
			}
			string.append(elements[i]);
			/*if (i!=size-1) {
				string.append(", ");
			}*/
		}
		string.append("]");
		return string.toString();
	}
	private void outOfBounds(int index) {
		throw new IndexOutOfBoundsException("Index:"+index+",Size"+size);  //抛出越界异常
	}
	
	private void rangeCheck(int index) {
		if(index < 0 || index >= size) {
			outOfBounds(index);  //抛出越界异常
		}
	}
    private void rangeCheckForAdd(int index) {
    	if(index < 0 || index > size) {
			outOfBounds(index);  //抛出越界异常
		}
	}

}
扫描二维码关注公众号,回复: 9658502 查看本文章
发布了91 篇原创文章 · 获赞 8 · 访问量 4736

猜你喜欢

转载自blog.csdn.net/niuxikun/article/details/104622918
今日推荐