zoukankan      html  css  js  c++  java
  • Arrays和String单元测试(课下作业,选做)

    在IDEA中以TDD的方式对String类和Arrays类进行学习- 测试相关方法的正常,错误和边界情况

    • - String类

    •    - charAt
    •    - split
    • - Arrays类

    • - sort
    • - binarySearch

    具体内容:


    一、String类相关方法的单元测试

    • charAt

    该方法返回位于字符串的指定索引处的字符,字符串的索引从零开始,其中index是指字符的索引,即下标。

    • split

    该方法是用于分隔字符串,得到一个字符数组。

    测试结果:

    代码如下:

    import junit.framework.*;
    
    import org.junit.Test;
    
    import java.lang.String;
    
    public class TestString extends TestCase {
    
        String a = new String("zengxiangjie.");
        String b = new String("zeng-xiang-jie");
        String split = "Java is my favourite class";
    
        @Test
        public void testcharAt()  throws Exception{
            assertEquals('z',a.charAt(0));//边界情况
            assertEquals('g',a.charAt(8));//正常情况多选一
            assertEquals('.',a.charAt(12));//正常情况
        }
    
        @Test
        public void testSplit() {
            assertEquals("Java",split.split(" ")[0]);//返回字符数组,边界情况
            assertEquals("favourite",split.split(" ")[3]);//返回字符数组,正常情况
            assertEquals("zeng",b.split("-")[0]);//返回字符数组,边界情况
            assertEquals("xiang",b.split("-")[1]);//返回字符数组,正常情况
    
        }
    }

    异常结果:

    • 查找位置小于0

    • 查找位置溢出

    二、Arrays类相关方法的单元测试

    • sort

    用于数组排序,默认是升序排列,但是可以通过修改compareTo中的返回值来变为降序排列

    • binarySearch

    使用二分搜索法来搜索指定的数组,以获得指定对象,返回要搜索元素的索引值

    测试结果:

    代码如下:

    import junit.framework.*;
    
    import org.junit.Test;
    
    import java.util.Arrays;
    
    public class TestArrays extends TestCase {
    
        int[] c = new int[]{2,3,1,9,5,0,8,6,7};
    
        int[] d = new int[] {9, 8, 1, 7, 6, 2};
    
        @Test
    
        public void testBinarySearch() throws Exception{
            assertEquals(0,Arrays.binarySearch(c,2));
            assertEquals(4,Arrays.binarySearch(d,6));
            assertEquals(1,Arrays.binarySearch(c,3));
            assertEquals(-4,Arrays.binarySearch(d,5));
        }
    
        @Test
    
        public void testSort() throws Exception{
            Arrays.sort(c);
            Arrays.sort(d);
            assertEquals(0,c[0]);//边界情况
            assertEquals(7,c[6]);//正常情况
            assertEquals(9,d[5]);//边界情况
            assertEquals(7,d[3]);//正常情况
        }
    
    
    
    
    }

    异常情况

    • 下标越界

    码云链接(https://gitee.com/zxjacdl/zxj175221/tree/master/arrayandstr)

  • 相关阅读:
    mfc给对话框添加背景
    科学计数法中的尾数、基、指数
    格式化输出符号详细说明(待补充)
    写入注册表
    C++ 注册表操作
    Run-Time Check Failure #3
    完美二叉树, 完全二叉树和完满二叉树学习
    GetModuleFileNameW
    [BJDCTF2020]ZJCTF,不过如此
    picoctf_2018_buffer overflow 1/2
  • 原文地址:https://www.cnblogs.com/zxja/p/10746039.html
Copyright © 2011-2022 走看看