首页 > 其他分享 >最大连续子数组和的单元测试

最大连续子数组和的单元测试

时间:2024-04-05 18:22:54浏览次数:27  
标签:currentSum 覆盖 int void 单元测试 连续 数组 new public

(1)请从语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖五个覆盖标准中(条件组合覆盖难度较大,鼓励尝试,但请谨慎选择),任选一个标准设计测试用例
(2)请利用自动测试工具对程序进行测试
(3)请将程序运行结果和自动测试分析结果截图粘贴到文档中
为了求数组最大字段和,须定义变量max,currentSum分别保存最大值和当前和。初值均设为零,对currentSum进行循环加法,当currentSum<=0时,将currentSum值重置为num[i],否则currentSum=currentSum+num[i]。将max与currentSum进行比较,若后者大则max赋值为currentSum,否则不变。最终结果即为最大字段和。

判定/条件覆盖测试程序设计

由图知测试程序需要涵盖以下情况:
数组num为空 currentSum<=0 currentSum>max
数组num不为空 currentSum>0 currentSum>max

测试程序代码
package code;
import static org.junit.Assert.*;
import org.junit.Test;
public class test {
public void sum1() {
assertEquals(0, new maxNU().sum(new int[] {} ));
}
public void sum2() {
assertEquals(20,new maxNU().sum(new int[] {-2,11,-4,13,-5,-2} ));
}
public void sum3() {
assertEquals(0, new maxNU().sum(new int[] {-2,-11,-4,-13,-5,-2} ));
}
public void sum4() {
assertEquals(12, new maxNU().sum(new int[] {1,4,7} ));
}
测试结果

标签:currentSum,覆盖,int,void,单元测试,连续,数组,new,public
From: https://www.cnblogs.com/lw-yn0719/p/18116034

相关文章

  • 代码随想录算法训练营第二天 | 数组 209.长度最小的子数组
    leetcode209.长度最小的子数组题目209.长度最小的子数组给定一个含有n个正整数的数组和一个正整数target。找出该数组中满足其总和大于等于target的长度最小的连续子数组[numsl,numsl+1,...,numsr-1,numsr],并返回其长度。如果不存在符合条件的子数组,返回0。......
  • 如何在vscode中为c#编写单元测试
    如何在vscode中为c#编写单元测试从零开始创建一个单元测试工程创建测试单元工程创建测试文件的方法和新建项目类似,都是使用dotnetnew命令。dotnetnewxunit为测试单元工程添加需要测试的工程的项目引用dotnetaddreference..\MyMath\MyMath.csproj文件的目录结构......
  • ·跟着代码随想录刷力扣· ·数组部分· 2. 二分法
    leetcode题目:704二分法一、回顾顺序搜索(一)无序列表的顺序搜索,时间复杂度O(n)defsearch(self,nums:List[int],target:int)->int:pos=0whilepos<len(nums):ifnums[pos]==target:returnpos......
  • 代码随想录算法训练营第二天 | 数组 977.有序数组的平方
    leetcode977.有序数组的平方题目977.有序数组的平方给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例1:输入:nums=[-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为[16,1,0,9,100]排序后,数组变为[0,1,9......
  • LeetCode in Python 88. Merge Sorted Array (合并两个有序数组)
    合并有序数组也有两种方法,区别是空间复杂度不同。第一种,重新开辟一个数组空间,大小为O(m+n),另外需要三个指针分别指向两个有序数组和新开辟的数组,依次判断两个数组内元素大小,不断更新指针即可。第二种,无需单独开辟空间,在第一个数组(该数组空间足够存放两个数组总长的数据)内进行......
  • 深入理解指针2:数组名理解、一维数组传参本质、二级指针、指针数组和数组指针
    1、数组名理解首先来看一段代码:intmain(){ intarr[10]={1,2,3,4,5,6,7,8,9,10}; printf("%d\n",sizeof(arr)); return0;}输出的结果是:40,如果arr是数组首元素的地址,那输出应该是4/8才对。其实数组名就是数组首元素(第一个元素)的地址是对的,但是有两个例外:sizeof......
  • 『VUE』11. 操作数组的方法(详细图文注释)
    目录vue中操作数组的方法会修改原数组的会进行渲染更新不修改原数组的不会进行渲染更新push自动渲染concat赋值渲染总结欢迎关注『VUE』专栏,持续更新中欢迎关注『VUE』专栏,持续更新中vue中操作数组的方法vue中数组数据呈现在网页,只检测一开始用到的数......
  • 数组Api归纳篇——splice与slice
    1、splicesplice() 方法就地移除或者替换已存在的元素/添加新的元素。 语法:splice(start,deleteCount,item)        1、start开始索引    2、deleteCount删除几个    3、item替换/添加的元素    4、返回值:一个包含了【删除的元......
  • c语言中关于字符数组赋值问题
    一维数组代码#include<iostream>#include<cstring>#include<algorithm>usingnamespacestd;constintN=1010;charstr[N];charst[N];chars1[N];chars2[N];/*abcdeabcdeabcdeabcde*/intmain(){ scanf("%s",&str+1); ......
  • 数组赋值
    1publicclassShuZhu{2publicstaticvoidmain(String[]args){3int[]a1={2,3,4,5,6,7,8};4int[]a2=a1;56for(inta3:a17){8System.out.println(a3);9}10System.o......