




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
。慕测平台测试报告(二) 学 院:计算机学院 姓 名:赵红娜 专 业:软件工程 学 号:3130608003 班 级:1301 完成日期:2016-10-22 2016年10月22日1.题目针对以下4个项目编写测试用例进行测试。代码如下:题目(1)精选资料,欢迎下载/ BinaryHeap class/ CONSTRUCTION: with optional capacity (that defaults to 100)/ *PUBLIC OPERATIONS*/ void insert( x ) - Insert x/ int deleteMin( )- Return and remove smallest item/ int findMin( ) - Return smallest item/ boolean isEmpty( ) - Return true if empty; else false/ boolean isFull( ) - Return true if full; else false/ void makeEmpty( ) - Remove all items/ *ERRORS*/ Throws Overflow if capacity exceeded/* * Implements a binary heap. * Note that all matching is based on the compareTo method. * author Mark Allen Weiss */public class BinaryHeap / invariant wellFormed(); /* * Construct the binary heap. */ public BinaryHeap( ) this( DEFAULT_CAPACITY ); /* * Construct the binary heap. * param capacity the capacity of the binary heap. */ / requires capacity 0; / ensures isEmpty(); public BinaryHeap( int capacity ) currentSize = 0; array = new int capacity + 1 ; /* * Insert into the priority queue, maintaining heap order. * Duplicates are allowed. * param x the item to insert. * exception Overflow if container is full. */ public void insert( int x ) throws Overflow if( isFull( ) ) throw new Overflow( ); / Percolate up int hole = +currentSize; for( ; hole 1 & x array hole / 2 ; hole /= 2 ) array hole = array hole / 2 ; array hole = x; /* * Find the smallest item in the priority queue. * return the smallest item, or null, if empty. */ public int findMin( ) if( isEmpty( ) ) return -1; return array 1 ; boolean wellFormed() if(array=null) /array!=null return false; if(currentSize=array.length) /currentSize=0; currentSizearray.length; return false; for(int i=1; icurrentSize; i+) if(i*2 array2*i) return false; if(i*2 + 1array2*i+1) return false; return true; /* * Remove the smallest item from the priority queue. * return the smallest item, or null, if empty. */ public int deleteMin( ) if( isEmpty( ) ) return -1; int minItem = findMin( ); array 1 = array currentSize- ; percolateDown( 1 ); return minItem; /* * Establish heap order property from an arbitrary * arrangement of items. Runs in linear time. */ public void buildHeap( ) for( int i = currentSize / 2; i 0; i- ) percolateDown( i ); /* * Test if the priority queue is logically empty. * return true if empty, false otherwise. */ public boolean isEmpty( ) return currentSize = 0; /* * Test if the priority queue is logically full. * return true if full, false otherwise. */ public boolean isFull( ) return currentSize = array.length - 1; /* * Make the priority queue logically empty. */ / ensures isEmpty(); public void makeEmpty( ) currentSize = 0; private static final int DEFAULT_CAPACITY = 100; private int currentSize; / Number of elements in heap private int array; / The heap array /* * Internal method to percolate down in the heap. * param hole the index at which the percolate begins. */ private void percolateDown( int hole ) int child; int tmp = array hole ; for( ; hole * 2 = currentSize; hole = child ) child = hole * 2; if( child != currentSize & array child + 1 array child ) child+; if( array child tmp ) array hole = array child ; else break; array hole = tmp; /* * Exception class for access in full containers * such as stacks, queues, and priority queues. * author Mark Allen Weiss */public class Overflow extends Exception题目(2)import java.util.Comparator;import java.util.Random;/* * A class that contains several sorting routines, * implemented as static methods. * Arrays are rearranged with smallest item first, * using compareTo. * author Mark Allen Weiss */public final class Sorting /* * Simple insertion sort. * param a an array of Comparable items. */ public void insertionSort( int a ) int j; for( int p = 1; p 0 & tmpa j - 1 ; j- ) a j = a j - 1 ; a j = tmp; public boolean isSorted(int a) for(int i=0; iai+1) return false; return true; public static void quicksort( int a ) quicksort( a, 0, a.length - 1 ); private static final int CUTOFF = 10; public static final void swapReferences( Object a, int index1, int index2 ) Object tmp = a index1 ; a index1 = a index2 ; a index2 = tmp; public static final void swap(int a,int index1,int index2) int tmp = a index1 ; a index1 = a index2 ; a index2 = tmp; private static int median3( int a, int left, int right ) int center = ( left + right ) / 2; if( a center a left ) swap( a, left, center ); if( a right a left ) swap( a, left, right ); if( a right a center ) swap( a, center, right ); / Place pivot at position right - 1 swap( a, center, right - 1 ); return a right - 1 ; private static void quicksort( int a, int left, int right) if( left + CUTOFF = right ) int pivot = median3( a, left, right ); int i = left, j = right - 1; for( ; ; ) while( a +i pivot ) if( i j ) swap( a, i, j ); else break; swap( a, i, right - 1 ); / Restore pivot quicksort( a, left, i - 1 ); / Sort small elements quicksort( a, i + 1, right ); / Sort large elements else / Do an insertion sort on the subarray insertionSort( a, left, right ); private static void insertionSort( int a, int left, int right ) for( int p = left + 1; p left & tmp a j - 1 ; j- ) a j = a j - 1 ; a j = tmp; private static final int NUM_ITEMS = 1000; private static int theSeed = 1;题目(3)public class Statistics /* * * param numbers * return the length of the array */public int calLength(int numbers) int length = numbers.length;return length;/* * * param numbers * return the mean value of the array */public double calMean(int numbers) int length = calLength(numbers);double sum;sum = 0.0;for (int i = 0; i length; i+) sum += numbersi;double mean = sum / (double) length;return mean;/* * * param numbers * return the var value of the array */public double calVar(int numbers) int length = calLength(numbers);double mean = calMean(numbers);double varsum = 0.0;for (int i = 0; i 0 & triangle.lborderA 0 & triangle.lborderB 0 & triangle.lborderC = Long.MAX_VALUE) / check if subtraction of two border larger than the thirdif (diffOfBorders(triangle.lborderA, triangle.lborderB) triangle.lborderC& diffOfBorders(triangle.lborderB, triangle.lborderC) triangle.lborderA& diffOfBorders(triangle.lborderC, triangle.lborderA) b) ? (a - b) : (b - a);/* * get length of borders */public long getBorders() long borders = new long3;borders0 = this.lborderA;borders1 = this.lborderB;borders2 = this.lborderC;return borders;2.软件工具Eclipse3. 测试代码题目(1)import org.junit.After;import org.junit.Before;import org.junit.Test;import org.junit.Assert;public class BinaryHeapTest Beforepublic void setUp() throws Exception Afterpublic void tearDown() throws Exception Testpublic void test() BinaryHeap heap1 = new BinaryHeap(1024);for (int i = 1024; i 0; i-) try heap1.insert(i); catch (Overflow e) Assert.fail(e.getMessage();if (heap1.wellFormed() heap1.buildHeap();heap1.deleteMin();heap1.makeEmpty();heap1.findMin();heap1.deleteMin();题目(2)import org.junit.Before;import org.junit.After;import org.junit.Test;public class SortingTest private int num;private int num1 = new int50;private int num2 = new int50;private Object ref = new Object 3, 4, 5, 6, 9 ;private Sorting sorting;Beforepublic void setUp() throws Exception sorting = new Sorting();for (int i = 0; i 50; i+) num = (int) (Math.random() * 50);num1i = num;for (int i = 0; i 50; i+) num = (int) (Math.random() * 50);num2i = num;Afterpublic void tearDown() throws Exception Testpublic void test() sorting.quicksort(num1);sorting.isSorted(num1);sorting.insertionSort(num2);sorting.isSorted(num2);sorting.swapReferences(ref, 1, 5);题目(3)import org.junit.After;import org.junit.Before;import org.junit.Test;public class StatisticsTest private Statistics st ;Beforepublic void setUp() throws Exception st=new Statistics();Afterpublic void tearDown() throws Exception Testpublic void testCalVar() int nums=new int200,300,400,500,600;st.calVar(nums);题目(4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水表基础知识培训总结课件
- 混凝土施工中水泥质量控制方案
- 水管管件基础知识培训课件
- 输电线路传输能力评估方案
- 建筑施工现场的健康安全检查与监督方案
- 鸡舍清洁与消毒技术
- 水的基本知识培训内容课件
- 二零二五顶账城市核心区住宅买卖合同协议
- 二零二五年软件系统集成与维护合同详细实施条款
- 2025版电力系统电料研发、生产与销售合同
- 2025年提取公积金租房合同范本
- 2025高职单招考试题(附答案)
- 储能系统运维安全手册
- GB/T 45997-2025科技成果五元价值评估指南
- 转让网约车合同协议书范本
- 医院 捐赠协议书
- 小学食堂供餐管理方案(3篇)
- 养老院重要环境因素控制措施
- 藏文教学课件
- 血透室手卫生管理课件
- 风电场安全规程考试题库(附答案)
评论
0/150
提交评论