




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2016-2017-1慕测平台测试报告慕测平台测试报告(二) 学 院:计算机学院 姓 名:赵红娜 专 业:软件工程 学 号:3130608003 班 级:1301 完成日期:2016-10-22 2016年10月22日1.题目针对以下4个项目编写测试用例进行测试。代码如下:题目(1)11/ 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,60
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Unit 9 Section A 3a-3c 说课稿2025-2026学年八年级英语下册同步教学(人教版)
- 第7课 设置动画效果教学设计-2025-2026学年小学综合实践活动长春版六年级上册-长春版
- 一年级道德与法治上册 第三单元 我爱我家 第10课《爱心伴我长大》说课稿 鄂教版
- 13 万里一线牵 (教案)部编版道德与法治三年级下册
- 《角》(教学设计)-2024-2025学年四年级数学上册人教版
- 第6课 奔向光明-亮度传感器的应用和条件控制教学设计-2025-2026学年初中信息技术粤教清华版九年级下册-粤教清华版
- 2025年幼儿发展与健康知识考试题库
- 金融市场概述教学设计-2025-2026学年中职专业课-财政与金融基础知识-财经类-财经商贸大类
- 1古诗三首《四时田园杂兴(其三十一)》教学设计-2024-2025学年统编版语文五年级下册
- Module 6 Unit 3 说课稿 2025-2026学年外研版英语八年级下册
- 加油、加气、充电综合站项目可行性研究报告
- 塔机拆卸合同范本
- 2024-2025学年广东省深圳市南山区四年级(下)期末数学试卷
- 《煤矿安全规程(2025版)》知识培训
- 2025秋数学(新)人教五年级(上)第1课时 小数乘整数
- 《数字技术应用基础模块》技工中职全套教学课件
- 房屋拆除专项施工方案(3篇)
- AutoCAD电气工程制图 课件 项目1 低压配电柜的绘制与识图
- 红河州公开遴选公务员试题及答案
- 2024年全国工会财务知识大赛备赛试题库500(含答案)
- 消防技术装备培训课件
评论
0/150
提交评论