• Arrays和String单元测试 20175301


    在IDEA中以TDD的方式对String类和Arrays类进行学习

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

    1.ChatAt的测试
    代码:
    import org.junit.Test;
    import junit.framework.TestCase;
    public class Char extends TestCase{
        String s = new String("aaaazdxzds");
        @Test
        public void testcharAt() throws Exception {
            assertEquals('a',s.charAt(0));//正常
            assertEquals('下', new String("天下").charAt(1));//一个汉字占两个字节一个字符
            assertEquals('e', new String("abcd e").charAt(5));//正常
            assertEquals(' ', new String("abcd e").charAt(4));//边界
            //assertEquals(' ', new String("abcd e").charAt(6));//error
            //assertEquals('下', new String("天下").charAt(1));//error
        }
    
    }

    结果截图:

    一共测试了四种通过情况,两种错误情况。

    2. split方法测试

    测试代码(包括整个String类)

    import org.junit.Assert;
    import org.junit.Test;
    import junit.framework.TestCase;
    public class CharTest {
        String s = new String("aaaazdxzds");
        String s1= new String("my guiding-moon-light");
        @Test
        public void testcharAt() throws Exception {
            Assert.assertEquals('a', s.charAt(0));//正常
            Assert.assertEquals('下', new String("天下").charAt(1));//一个汉字占两个字节一个字符
            Assert.assertEquals('e', new String("abcd e").charAt(5));//正常
            Assert.assertEquals(' ', new String("abcd e").charAt(4));//边界
            //assertEquals(' ', new String("abcd e").charAt(6));//error
            //assertEquals('下', new String("天下").charAt(1));//error
        }
    
        @Test
        public void TestCase() throws Exception{
            Assert.assertEquals("my", s1.split(" ")[0]);//正常情况
            Assert.assertEquals("", s1.split("[a-z]+")[0]);//边界情况
            Assert.assertEquals("guiding-moon-light", s1.split(" ")[1]);//边界情况
            //assertEquals(" ",s1.split(" ")[-1]);//error
            //assertEquals(" ",s1.split(" ")[100]);//error
        }
    }

    测试了两种正常情况两种异常情况一个超出界限,一个小于0

    实验截图:

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

    1,sort方法

    代码:

    import static org.junit.Assert.*;
    import org.junit.Assert;
    import org.junit.Test;
    import junit.framework.TestCase;
    import java.util.Arrays;
    
    
    public class ArraysTest extends TestCase {
        String[] s = {"w", "d", "n", "m", "d"};
        int[] i = {2, 1, 4, 5, 3};
        char[] p = {'a', 'b', 'c'};
    
        @Test
        public void testSort() {
            Arrays.sort(i);
            assertEquals(1, i[0]);
            assertEquals(2, i[1]);
            assertEquals(3, i[2]);
            assertEquals(4, i[3]);
            assertEquals(5, i[4]);
            //assertEquals(5,i[3]); //5
            Arrays.sort(p);
            assertEquals("[a, b, c]",Arrays.toString(p));
            Arrays.sort(s);
            assertEquals("[d, d, m, n, w]",Arrays.toString(s));
    
        }
    }

    2,binarySearch方法

    代码:

    import static org.junit.Assert.*;
    import org.junit.Assert;
    import org.junit.Test;
    import junit.framework.TestCase;
    import java.util.Arrays;
    import static java.util.Arrays.binarySearch;
    
    
    public class ArraysTest extends TestCase {
        String[] s = {"w", "d", "n", "m", "d"};
        int[] i = {2, 1, 4, 5, 3};
        char[] p = {'a', 'b', 'c'};
    
        @Test
        public void testSort() {
            Arrays.sort(i);
            assertEquals(1, i[0]);
            assertEquals(2, i[1]);
            assertEquals(3, i[2]);
            assertEquals(4, i[3]);
            assertEquals(5, i[4]);
            //assertEquals(5,i[3]); //5
            Arrays.sort(p);
            assertEquals("[a, b, c]",Arrays.toString(p));
            Arrays.sort(s);
            assertEquals("[d, d, m, n, w]",Arrays.toString(s));
        }
        public void testBinarySearch(){
            Arrays.sort(i);
            assertEquals(0 ,Arrays.binarySearch(i,1));//正常情况
            //assertEquals(-6,Arrays.binarySearch(i,100));//error
            //assertEquals(-1,Arrays.binarySearch(i,-1));//error
        }
    }

  • 相关阅读:
    Backtrace stopped: previous frame identical to this frame (corrupt stack?)
    windows 10 无法启动 windows update 服务 错误 0x80070005 拒绝访问
    error LNK2019: 无法解析的外部符号 __imp_recv,该符号在函数 evthread_notify_drain_default 中被引用
    opencv3.1.0 在控制台程序中报错:winnt.h(6464): error C2872: ACCESS_MASK: 不明确的
    使用OCCI操作Oracle数据库写入中文乱码
    fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "stdafx.h""
    清空资源管理器访问过FTP的账号、密码
    Windows系统查看xxx.dll、xxx.lib文件的导出函数、依赖文件等信息的方法
    ConvertBSTRToString导致的内存泄漏
    mxnet.base.MXNetError: src/imperative/./imperative_utils.h:70: Check failed: inputs[i]->ctx().dev_mask() == ctx.dev_mask() (1 vs. 2)
  • 原文地址:https://www.cnblogs.com/lijinran/p/10741364.html
Copyright © 2020-2023  润新知