1.实验要求html
测试要点:本提交点考查JUnit会不会使用,测试用例至少要包含正常状况,错误状况,边界状况的测试java
2.运行结果截图git
3.代码连接:
MyUtil.java
MyUtilTest.java编程
StringBuffer
1.实验要求设计模式
2.实验结果截图
ide
3.代码连接:
MyDoc.java函数
1.实验要求:
实验二 Java面向对象程序设计(http://www.cnblogs.com/rocedu/p/4472842.html)单元测试
2.实验结果截图学习
3.代码连接:
Complex.java
ComplexTest.java测试
1.实验要求:
提交:单元测试代码和运行成功截图及码云上代码连接,截图要加上学号水印
参考http://www.cnblogs.com/rocedu/p/6736847.html
任务:以TDD的方式开发一个复数类Complex,要求以下:
// 定义属性并生成getter,setter
double RealPart; double ImagePart;
// 定义构造函数
public Complex() public Complex(double R,double I )
//Override Object
public boolean equals(Object obj) public String toString()
// 定义公有方法:加减乘除
Complex ComplexAdd(Complex a) Complex ComplexSub(Complex a) Complex ComplexMulti(Complex a) Complex ComplexDiv(Complex a)
2.实验过程:
(1)伪代码:
属性: 定义实部; 定义虚部; 设置复数的实部; 设置复数的虚部; 返回复数的实部; 返回复数的虚部; 方法: 定义构造函数 定义公有方法(加减乘除) 将结果转化成字符串形式输出
(2)测试代码:
import junit.framework.TestCase; import org.junit.Test; public class ComplexTest extends TestCase { Complex c1 = new Complex(2,1); Complex c2 = new Complex(0,3); Complex c3 = new Complex(-1,-1); @Test public void testgetRealPart() throws Exception { assertEquals(0.0,Complex.getRealPart(0.0)); assertEquals(-2.0,Complex.getRealPart(-2.0)); assertEquals(6.0,Complex.getRealPart(6.0)); } @Test public void testComplexAdd() throws Exception{ assertEquals("2.0+4.0i",c1.ComplexAdd(c2).toString()); assertEquals("-1.0+2.0i",c2.ComplexAdd(c3).toString()); assertEquals("1.0",c1.ComplexAdd(c3).toString()); } @Test public void testComplexSub() throws Exception{ assertEquals("2.0 -2.0i",c1.ComplexSub(c2).toString()); assertEquals("1.0+4.0i",c2.ComplexSub(c3).toString()); assertEquals("-3.0 -2.0i",c3.ComplexSub(c1).toString()); } @Test public void testComplexMulti() throws Exception { assertEquals("-3.0+6.0i",c1.ComplexMulti(c2).toString()); assertEquals("3.0 -3.0i",c2.ComplexMulti(c3).toString()); assertEquals("-1.0 -3.0i",c3.ComplexMulti(c1).toString()); } @Test public void testComplexDiv() throws Exception { assertEquals("0.6666666666666666+0.3333333333333333i",c1.ComplexDiv(c2).toString()); assertEquals("-1.5 -1.5i",c2.ComplexDiv(c3).toString()); assertEquals("-0.6 -0.6i",c3.ComplexDiv(c1).toString()); } }
(3)测试代码运行成功截图:
(4)产品代码:
public class Complex { private double r; private double i; public Complex(double r, double i) { this.r = r; this.i = i; } public static double getRealPart(double r) { return r; } public static double getImagePart(double i) { return i; } public Complex ComplexAdd(Complex c) { return new Complex(r + c.r, i + c.i); } public Complex ComplexSub(Complex c) { return new Complex(r - c.r, i - c.i); } public Complex ComplexMulti(Complex c) { return new Complex(r * c.r - i * c.i, r * c.i + i * c.r); } public Complex ComplexDiv(Complex c) { return new Complex((r * c.i + i * c.r)/(c.i * c.i + c.r * c.r), (i * c.i + r * c.r)/(c.i * c.i + c.r * c.r)); } public String toString() { String s = " "; if (i > 0) s = r + "+" + i + "i"; if (i == 0) s = r + ""; if (i < 0) s = r + " " + i + "i"; return s; } }
1.实验要求:
使用WhiteStarUML对实验二中的代码进行建模,发类图的截图,加上学号水印。
参考(http://www.cnblogs.com/rocedu/p/6736847.html)
2.实验截图:
Q1:在安装Junit
时,按照老师给的教程,点击Install JetBrains plugin...
然而并无发现JUnitGenerator V2.0
.
A1:通过个人学习伙伴的指点,而且本身在网上查找了一下,找到了原来学长写的一篇关于安装Junit的博客,原来,要点击如图所示的Browse repositories
,就能搜到了,安装好就如图所示了。
Q2:在使用Junit学习时,发如今安装好junit.jar
,仍然没法使用。
A2:在好友的指导下,在Everything
中须要安装junit.jar
和junit-4.12.jar
,如图所示,在Everything
中查找到两个包,并安装,安装好后如图所示。
Q3:在编写实验2的测试码时,出现了如图所示错误。
A3:通过错误提示,应该是下标越界问题,因而,我检查了代码中是否有错误的地方,结果发现了本身因马虎所犯下的错误,如图所示。因此,你们必定要引觉得戒。
Q4:本次实验,娄老师让咱们本身练习画UML图,以前本身一直没有过重视这个知识点,因而我借这个机会总结了一下易混符号的区别。
A4:
1.实线箭头和虚线箭头:
实线箭头表明的是关联关系。若是A类中的成员变量是用B类声明的对象,那么A和B的关系是关联关系,则是 B指向A。
虚线箭头表明的是依赖关系。若是A类中某个方法的参数是B类声明的对象或某个方法返回的数据类型是B类对象,那么A和B是依赖关系,则为B指向A。
2.实线空三角和虚线空三角:
实线空三角是指继承关系,起始端是子类的UML图,终点端是父类的UML图。
虚线空三角用于实现接口,UML经过使用虚线链接类和它所实现的接口,虚线的起始端是类,终点端是它所实现的接口。
本次实验内容较为丰富,首先咱们学习了单元测试和TDD,学会利用这两种方式来编写程序,起初,老师给的博客中常常提到“测试码”一词,现在,本身也学会写测试码,对本身从此的编程颇有好处。其次,本身对UML图的理解也更为深刻,体会到了UML图与代码联系的紧密性,本次实验收获颇丰。
步骤 | 耗时 | 百分比 |
---|---|---|
需求分析 | 12min | 10% |
设计 | 10min | 8% |
代码实现 | 48min | 40% |
测试 | 40min | 34% |
分析总结 | 10min | 8% |