参考 http://www.cnblogs.com/rocedu/p/6371315.html#SECUNITTESThtml
参考http://www.cnblogs.com/rocedu/p/6736847.htmljava
提交最后三个测试用例都经过的截图,截图上要有画图加水印,输入本身的学号。git
正常状况:
设计模式
错误状况:
app
边界状况:
ide
最终结果:
函数
参考 积极主动敲代码,使用JUnit学习Java (http://www.cnblogs.com/rocedu/p/4837092.html)单元测试
参考http://www.cnblogs.com/rocedu/p/6736847.html学习
以 TDD的方式研究学习StringBuffer,提交你的单元测试用例和测试经过的截图,截图要加上学号水印。测试
安装JUnitGenerator V2.0
public class StringBufferDemo { public StringBuffer setBuffer() { StringBuffer buffer = new StringBuffer(); buffer.append('S'); buffer.append("tringBuffer"); System.out.println(buffer.charAt(1)); System.out.println(buffer.length()); System.out.println(buffer.capacity()); System.out.println(buffer.indexOf("tring")); System.out.println(buffer.toString()); return buffer; } }
import junit.framework.TestCase; import org.junit.Test; public class StringBufferDemoTest extends TestCase { StringBuffer buffer1 = new StringBuffer("StringBuffer"); StringBuffer buffer2 = new StringBuffer("StringBufferStringBuffer"); StringBuffer buffer3 = new StringBuffer("StringBufferStringBufferStringBuffer"); @Test public void testcharAt() { assertEquals('S',buffer1.charAt(0)); assertEquals('r',buffer1.charAt(11)); } @Test public void testlength(){ assertEquals(12,buffer1.length()); assertEquals(24,buffer2.length()); assertEquals(36,buffer3.length()); } @Test public void testcapacity(){ assertEquals(28,buffer1.capacity()); assertEquals(40,buffer2.capacity()); assertEquals(52,buffer3.capacity()); } @Test public void testToString(){ assertEquals("StringBuffer",buffer1.toString()); assertEquals("StringBufferStringBuffer",buffer2.toString()); } @Test public void testIndexOf(){ assertEquals(0,buffer1.indexOf("Str")); assertEquals(5,buffer1.indexOf("gBu")); } }
参考http://www.cnblogs.com/rocedu/p/6736847.html
对设计模式示例进行扩充,体会OCP原则和DIP原则的应用,初步理解设计模式
用本身的学号%6进行取余运算,根据结果进行代码扩充:
0: 让系统支持Byte类,并在MyDoc类中添加测试代码代表添加正确,提交测试代码和运行结的截图,加上学号水印
1: 让系统支持Short类,并在MyDoc类中添加测试代码代表添加正确,提交测试代码和运行结的截图,加上学号水印
2: 让系统支持Boolean类,并在MyDoc类中添加测试代码代表添加正确,提交测试代码和运行结的截图,加上学号水印
3: 让系统支持Long类,并在MyDoc类中添加测试代码代表添加正确,提交测试代码和运行结的截图,加上学号水印
4: 让系统支持Float类,并在MyDoc类中添加测试代码代表添加正确,提交测试代码和运行结的截图,加上学号水印
5: 让系统支持Double类,并在MyDoc类中添加测试代码代表添加正确,提交测试代码和运行结的截图,加上学号水印
// Server Classes abstract class Data { abstract public void DisplayValue(); } class Integer extends Data { int value; Integer() { value=300; } public void DisplayValue(){ System.out.println (value); } } class Float extends Data { float value; Float() { value=2.688F; } public void DisplayValue(){ System.out.println (value); } } // Pattern Classes abstract class Factory { abstract public Data CreateDataObject(); } class IntFactory extends Factory { public Data CreateDataObject(){ return new Integer(); } } class FloatFactory extends Factory { public Data CreateDataObject(){ return new Float(); } } class Document { //Client classes Data pd; Document(Factory pf){ pd = pf.CreateDataObject(); } public void DisplayData(){ pd.DisplayValue(); } } //Test class public class MyDoc { static Document d,f; public static void main(String[] args) { d = new Document(new IntFactory()); d.DisplayData(); f = new Document(new FloatFactory()); f.DisplayData(); } }
提交:单元测试代码和运行成功截图及码云上代码连接,截图要加上学号水印
参考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)
public class Complex { //定义属性并生成getter,setter double RealPart; double ImagePart; public double getterRealPart() { return RealPart; } public double getterImagePart() { return ImagePart; } public void setter(double r, double i) { RealPart = r; ImagePart = i; } //定义构造函数 public Complex(){ } public Complex(double r, double i) { RealPart = r; ImagePart = i; } //Override Object public boolean equals(Object obj){ if(this == obj){ return true; } else { return false; } } public String toString() { String result = new String(); if (ImagePart > 0) result = RealPart+"+"+ImagePart+"i"; if (ImagePart == 0) result = RealPart+""; if (ImagePart < 0) result = RealPart+"-"+ImagePart*(-1)+"i"; return result; } //定义公有方法:加减乘除 public Complex ComplexAdd(Complex obj) { return new Complex ((getterRealPart()+obj.getterRealPart()),(getterImagePart()+obj.getterImagePart())); } public Complex ComplexSub(Complex obj) { return new Complex ((getterRealPart()-obj.getterRealPart()),(getterImagePart()-obj.getterImagePart())); } public Complex ComplexMulti(Complex obj) { return new Complex ((getterRealPart()*obj.getterRealPart()-getterImagePart()*obj.getterImagePart()),(getterRealPart()*obj.getterImagePart()+getterImagePart()*obj.getterRealPart())); } public Complex ComplexDiv(Complex obj){ double div = Math.sqrt(obj.RealPart*obj.RealPart)+Math.sqrt(obj.ImagePart*obj.ImagePart); return new Complex(((RealPart*obj.RealPart+ImagePart*obj.ImagePart)/div),((ImagePart*obj.RealPart-RealPart*obj.ImagePart)/div)); } }
import junit.framework.TestCase; import org.junit.Test; public class ComplexTest extends TestCase { Complex c1 = new Complex(2,4); Complex c2 = new Complex(-1,1); @Test public void testComplexAdd(){ assertEquals("1.0+5.0i",c1.ComplexAdd(c2)+""); } @Test public void testComplexSub(){ assertEquals("3.0+3.0i",c1.ComplexSub(c2)+""); } @Test public void testComplexMulti(){ assertEquals("-6.0-2.0i",c1.ComplexMulti(c2)+""); } @Test public void testComplexDiv(){ assertEquals("1.0-3.0i",c1.ComplexDiv(c2)+""); } }
使用WhiteStarUML对实验二中的代码进行建模,发类图的截图,加上学号水印。
参考http://www.cnblogs.com/rocedu/p/6736847.html
类图中只少两个类。
类图:
junit
使用org.junit
不存在,junit
部分显示红色File
——Project Struct……
——Libraies
——点击加号
——Java
——找到 IDEA 安装路径下的junit-4.12
——点击OK
步骤 | 耗时 | 百分比 |
---|---|---|
需求分析 | 20min | 10% |
设计 | 40min | 20% |
代码实现 | 70min | 35% |
测试 | 30min | 15% |
分析总结 | 40min | 20% |