Arrays和String单元测试

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

  • 测试相关方法的正常,错误和边界情况

    • String类

      • charAt
      • split
    • Arrays类
      • sort
      • binarySearch
  • 码云链接
  • 代码
/**
* Created by radish608 on 17-5-10.
*/
import java.util.*;
import org.junit.Test; import static java.util.Arrays.binarySearch; public class SAtest { String teststring1 = "Hello World!";
String teststring2 = " "; String teststring3 = "boo:and:foo";
String[] teststring4 = new String[3];
String[] teststring5 = new String[3]; @Test
public void StringTester() {
assert teststring1.charAt(0) == 'H' : "error1:charAt";
assert teststring1.charAt(teststring1.length()-1) == '!' : "error2:charAt";
assert teststring2.charAt(0) == teststring2.charAt(teststring2.length()-1) : "error3:charAt"; teststring4 = teststring3.split(":");
teststring5 = teststring3.split("o"); assert teststring4[0].equals("boo") : "error4:split";
assert teststring4[1].equals("and") : "error5:split";
assert teststring4[2].equals("foo"): "error6:split"; assert teststring5[0].equals("b") : "error7:split";
assert teststring5[1].equals("") : "error8:split";
assert teststring5[2].equals(":and:f") : "error9:split"; } @Test
public void ArraysTester() {
int []testarr1 = { 1, 3, 5, 4, 2, 0};
int []testarr2 = {2, 5, 7, 8, 9, 0, 10, 11, 13, 15, 19}; Arrays.sort(testarr1);
assert testarr1[1] == 1 : "error10:sort"; assert binarySearch(testarr2, 0, testarr2.length-1, 5) == 1 : "error11:binarySearch"; } }
  • 截图

MySort

模拟实现Linux下Sort -t : -k 2的功能。参考 Sort的实现。提交码云链接和代码运行截图。

/**
* Created by radish608 on 17-5-10.
*/
import java.util.*; public class MySort1 {
public static void main(String[] args) {
String[] toSort = {"aaa:10:1:1",
"ccc:30:3:4",
"bbb:50:4:5",
"ddd:20:5:3",
"eee:40:2:20"}; System.out.println("Before sort:");
for (String str : toSort)
System.out.println(str); System.out.println("After sort:");
int[] tmp = new int[toSort.length];
String[][] string = new String [toSort.length][4];
for (int i = 0; i < toSort.length; i++) {
string[i] = toSort[i].split(":");
tmp[i] = Integer.parseInt(string[i][1]);
}
Arrays.sort(tmp);
for (int i = 0; i < tmp.length; i++) {
for (int j = 0; j < toSort.length; j++) {
if(tmp[i] == Integer.parseInt(string[j][1])){
System.out.println(toSort[j]);
}
}
}
}
}
  • 截图

20155212Arrays和String测试_MySort的更多相关文章

  1. Array和String测试与java.String.split

    java.string.split() 存在于java.lang包中,返回值是一个数组. 作用是按指定字符或者正则去切割某个字符串,结果以字符串数组形式返回. 例 String [] toSort = ...

  2. 6-3 bash脚本编程之五 字符串测试及for循环

    1. 字符测试 ==:等号两边要有空格,否则会被认为是赋值. !=:  测试是否相等,记住如果不等为真,等为假. -n string: 测试指定字符串是否为空,空位真,不空为假. -s string: ...

  3. sysbench 压力测试

    200 ? "200px" : this.width)!important;} --> 介绍 sysbench是一个模块化.跨平台.多线程基准测试工具,主要用于测试不同系统参 ...

  4. python string

    string比较连接 >>> s1="python string" >>> len(s) 13 >>> s2=" p ...

  5. sysbench压力测试工具简介和使用(一)

    sysbench压力测试工具安装和参数介绍 一.sysbench压力测试工具简介: sysbench是一个开源的.模块化的.跨平台的多线程性能测试工具,可以用来进行CPU.内存.磁盘I/O.线程.数据 ...

  6. 使用sysbench进行压力测试

    sysbench是一款开源的多线程性能测试工具,可以执行CPU/内存/线程/IO/数据库等方面的性能测试.数据库目前支持MySQL/Oracle/PostgreSQL/Drizzle,它主要包括以下几 ...

  7. [置顶] String StringBuffer StringBuilder的区别剖析

    这是一道很常见的面试题目,至少我遇到过String/StringBuffer/StringBuilder的区别:String是不可变的对象(final)类型,每一次对String对象的更改均是生成一个 ...

  8. linux基础11-bash编程(字符串测试 和 for循环)

    练习:传递一个用户名参数给脚本,判断此用户的用户名跟其基本组的组名是否一致,并将结果显示出来.(1)字符测试:==:测试是否相等,相等为真,不等为假!=: 测试是否不等,不等为真,等为假>< ...

  9. 20175225 《Arrays和String单元测试》

    ---恢复内容开始--- 题目 在IDEA中以TDD的方式对String类和Arrays类进行学习,测试相关方法的正常,错误和边界情况 - String类 - charAt - split - Arr ...

随机推荐

  1. rpc、socket、tcp/udp简要梳理

    RPC:远程过程调用(分布式.微服务间的方法调用) HTTP:无状态,每次请求都要发送一个request,服务器响应之后就断掉(http header中的keep-alive指的是tcp) TCP:面 ...

  2. php懈垢windows通用上传缺陷

    #1 实例介绍本案例采用的实例是:U-Mail邮件系统.U-Mail邮件系统文件上传的地方代码是这样的: code 区域 <?php if(ACTION =="attach-uploa ...

  3. linux(ubuntu)因为代理网页无法访问

    当有一天你打开浏览器的时候,页面上显示,未链接到网络,请检查代理服务器,出现了如下图所示的情况: 但是你检查一下了网络,可以ping通,而且在同一个网络下,你的手机平板可以上网,那么你就想一想,昨天i ...

  4. BZOJ 1295 最长距离 BFS+枚举

    题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1295 题目大意: windy有一块矩形土地,被分为 N*M 块 1*1 的小格子. 有 ...

  5. 联想Thinkpad 遇到双系统 uefi Ubuntu无法进入的引导问题解决方案

    最近因为许多课程设计的需要,安装了Ubuntu双系统,但是一开始遇到了安装好了以后无法进入的问题,后来弄好后手残又把引导项给删了又要弄回去,反反复复很多次,网上的很多经验都十分过时,要么对最新的uef ...

  6. 【[HNOI2008]GT考试】

    我又来复习\(kmp\)了 其实这道题主要是一个矩阵乘法,但是\(kmp\)在其中也有着非常重要的作用 我们可以这样定义状态\(dp[i][j]\)表示文本串进行到了\(i\)位置,同时文本串在最后和 ...

  7. G、CSL 的训练计划【BFS 贪心】(“新智认知”杯上海高校程序设计竞赛暨第十七届上海大学程序设计春季联赛)

    题目传送门:https://ac.nowcoder.com/acm/contest/551/G 链接:https://ac.nowcoder.com/acm/contest/551/G来源:牛客网 题 ...

  8. 【jQuery】cookie插件

    通过该插件的学习使我对cookie.Date().getDate().setDate().toUTCString()有了更直观的了解,具体分析见注释: function(key, value, opt ...

  9. 5 个强大的 HTML5 API

    HTML5提供了一些非常强大的JavaScript和HTML API,来帮助开发者构建精彩的桌面和移动应用程序.本文将介绍5个新型的API,希望对你的开发工作有所帮助. 1.  全屏API(Fulls ...

  10. 关于UWB技术:DecaWave公司的DW1000芯片资料

    关于人在隧道工作时都需要准确的精确度确定精准的位置.DecaWave公司的DW1000芯片,对定位上的精确度更是再适合不过了.符合IEEE802.15.4-2011超宽带标准.按照数据手册上应该最小误 ...