File->Setting
打开设置对话框,在设置对话框中选择Plugins
, 单击Install JetBrains plugin...
按钮打开插件安装界面:junit
,单击JunitGenerator V2.0,单击右边绿色的Install1
按钮安装:public class MyUtil{ public static String percentage2fivegrade(int grade){ //若是成绩小于0,转成“错误” if ((grade < 0)) return "错误"; //若是成绩小于60,转成“不及格” else if (grade < 60) return "不及格"; //若是成绩在60与70之间,转成“及格” else if (grade < 70) return "及格"; //若是成绩在70与80之间,转成“中等” else if (grade < 80) return "中等"; //若是成绩在80与90之间,转成“良好” else if (grade < 90) return "良好"; //若是成绩在90与100之间,转成“优秀” else if (grade <= 100) return "优秀"; //若是成绩大于100,转成“错误” else return "错误"; } }
import org.junit.Test; import junit.framework.TestCase; public class MyUtilTest extends TestCase { @Test public void testNormal() { assertEquals("不及格", MyUtil.percentage2fivegrade(55)); assertEquals("及格", MyUtil.percentage2fivegrade(65)); assertEquals("中等", MyUtil.percentage2fivegrade(75)); assertEquals("良好", MyUtil.percentage2fivegrade(85)); assertEquals("优秀", MyUtil.percentage2fivegrade(95)); } @Test public void testExceptions() { assertEquals("错误", MyUtil.percentage2fivegrade(-55)); assertEquals("错误", MyUtil.percentage2fivegrade(105)); } @Test public void testBoundary() { assertEquals("不及格", MyUtil.percentage2fivegrade(0)); assertEquals("及格", MyUtil.percentage2fivegrade(60)); assertEquals("中等", MyUtil.percentage2fivegrade(70)); assertEquals("良好", MyUtil.percentage2fivegrade(80)); assertEquals("优秀", MyUtil.percentage2fivegrade(90)); assertEquals("优秀", MyUtil.percentage2fivegrade(100)); } }
public class StringBufferDemo { public static void main(String [] args){ StringBuffer buffer = new StringBuffer(20); buffer.append('S'); buffer.append("tringBuffer"); System.out.println(buffer.charAt(1)); System.out.println(buffer.capacity()); System.out.println(buffer.indexOf("tring")); System.out.println("buffer = " + buffer.toString()); System.out.println(buffer.length()); } }
import junit.framework.TestCase; import org.junit.Test; public class StringBufferDemoTest extends TestCase { StringBuffer a = new StringBuffer("StringBuffer"); StringBuffer b = new StringBuffer("StringBufferStringBuffer"); StringBuffer c = new StringBuffer("StringBufferStringBufferStringBuffer"); @Test public void testcharAt() throws Exception { assertEquals('t', a.charAt(1)); assertEquals('g', a.charAt(5)); assertEquals('r', a.charAt(11)); } @Test public void testcapacity() throws Exception { assertEquals(28, a.capacity()); assertEquals(40, b.capacity()); assertEquals(52, c.capacity()); } @Test public void testlength() throws Exception { assertEquals(12, a.length()); assertEquals(24, b.length()); assertEquals(36, c.length()); } @Test public void testindexOf() throws Exception { assertEquals(0, a.indexOf("Str")); assertEquals(5, b.indexOf("gBu")); assertEquals(8, c.indexOf("ffer")); } }
abstract class Data { abstract public void DisplayValue(); } class Integer extends Data { int value; Integer() { value=20175226%6; } public void DisplayValue(){ System.out.println (value); } } class Byte extends Data { byte value; Byte() { value=20175226%6; } public void DisplayValue(){ System.out.println (value); } } class Short extends Data { short value; Short() { value=20175226%6; } public void DisplayValue(){ System.out.println (value); } } class Boolean extends Data { boolean value; Boolean() { value=20175226%6==4; } public void DisplayValue(){ System.out.println (value); } } class Long extends Data { long value; Long() { value=20175226; } public void DisplayValue(){ System.out.println (value); } } class Double extends Data { double value; Double() { value=20175226%6; } public void DisplayValue(){ System.out.println (value); } } class Float extends Data { float value; Float() { value=20175226%6; } 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 ByteFactory extends Factory { public Data CreateDataObject(){ return new Byte(); } } class ShortFactory extends Factory { public Data CreateDataObject(){ return new Short(); } } class BoolenFactory extends Factory { public Data CreateDataObject(){ return new Boolean(); } } class LongFactory extends Factory { public Data CreateDataObject(){ return new Long(); } } class DoubletFactory extends Factory { public Data CreateDataObject(){ return new Double(); } } class FloatFactory extends Factory { public Data CreateDataObject(){ return new Float(); } } //Client classes class Document { Data pd; Document(Factory pf){ pd = pf.CreateDataObject(); } public void DisplayData(){ pd.DisplayValue(); } } //Test class public class MyDoc { static Document d; public static void main(String[] args) { d = new Document(new IntFactory()); d.DisplayData(); d = new Document(new ByteFactory()); d.DisplayData(); d = new Document(new ShortFactory()); d.DisplayData(); d = new Document(new BoolenFactory()); d.DisplayData(); d = new Document(new LongFactory()); d.DisplayData(); d = new Document(new DoubletFactory()); d.DisplayData(); d = new Document(new FloatFactory()); d.DisplayData(); } }
// 定义属性并生成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 Complex(){ RealPart = 0; ImagePart = 1; } public Complex(double R,double I){ ImagePart = I; RealPart = R; } //Override Object public boolean equals(Object obj){ if(this == obj) { return true; } if(!(obj instanceof Complex)) { return false; } Complex complex = (Complex) obj; if(complex.RealPart != ((Complex) obj).RealPart) { return false; } if(complex.ImagePart != ((Complex) obj).ImagePart) { return false; } return true; } public String toString() { String string = ""; if (ImagePart > 0) string = RealPart + "+" + ImagePart + "i"; if (ImagePart == 0) string = RealPart + ""; if (ImagePart < 0) string = RealPart + " " + ImagePart + "i"; return string; } // 定义公有方法:加减乘除 Complex ComplexAdd(Complex a) { double b=0,c=0; b = RealPart+a.RealPart; c = ImagePart+a.ImagePart; System.out.println("("+RealPart+"+"+ImagePart+"i) + ("+a.RealPart+"+"+a.ImagePart+") = "+b+"+"+c+"i"); return new Complex(b,c); } Complex ComplexSub(Complex a) { double b=0,c=0; b = RealPart-a.RealPart; c = ImagePart-a.ImagePart; System.out.println("("+RealPart+"+"+ImagePart+"i) - ("+a.RealPart+"+"+a.ImagePart+") = "+b+"+"+c+"i"); return new Complex(b,c); } Complex ComplexMulti(Complex a) { double b=0,c=0; b = RealPart*a.RealPart; c = ImagePart*a.ImagePart; System.out.println("("+RealPart+"+"+ImagePart+"i) * ("+a.RealPart+"+"+a.ImagePart+") = "+b+"+"+c+"i"); return new Complex(b,c); } Complex ComplexDiv(Complex a) { if(a.RealPart==0||a.ImagePart==0) { System.out.println("被除数不能为0,错误"); return new Complex(); } double d = Math.sqrt(a.RealPart*a.RealPart)+Math.sqrt(a.ImagePart*a.ImagePart); double b=0,c=0; b = (RealPart*a.RealPart+ImagePart*a.ImagePart)/d; c = Math.round((RealPart*a.ImagePart-ImagePart*a.RealPart)/d); System.out.println("("+RealPart+"+"+ImagePart+"i) / ("+a.RealPart+"+"+a.ImagePart+") = "+b+"+"+c+"i"); return new Complex(b,c); } }
- 测试代码
import junit.framework.TestCase; import org.junit.Test; public class ComplexTest extends TestCase { Complex complex = new Complex(1, 1); @Test public void testAdd() { assertEquals(new Complex(3.0, 3.0), complex.ComplexAdd(new Complex(2.0, 2.0))); } @Test public void testSub() { assertEquals(new Complex(-5.0, -2.0), complex.ComplexSub(new Complex(6.0, 3.0))); } @Test public void testMulti() { assertEquals(new Complex(3.0, 2.0), complex.ComplexMulti(new Complex(3.0, 2.0))); } @Test public void testDiv() { assertEquals(new Complex(1.0, 1.0), complex.ComplexDiv(new Complex(1.0, 1.0))); assertEquals(new Complex(0.0, 0.0), complex.ComplexDiv(new Complex(1.0, 0.0))); //边缘测试 } }
charAt
方法时我写的语句是public void testcharAt() throws Exception { assertEquals("t", a.charAt(1)); assertEquals("g", a.charAt(5)); assertEquals("r", a.charAt(11)); }
结果发现怎么样测试都是红色条,不经过。html
public void testcharAt() throws Exception { assertEquals('t', a.charAt(1)); assertEquals('g', a.charAt(5)); assertEquals('r', a.charAt(11)); }
这个问题体现了一些咱们的细节,像两个字符串比较同样,虽然" s "
和' s '
看起来内容如出一辙但事实上二者比较起来二者之间有很大差别。二者占用的内存空间就不同至少会有"\0".因此显而易见字符能够被视为长度为1的字符串这个想法是错误的。git
(代码托管)[https://gitee.com/wpyzka/20175226/tree/master/src/shiyan2]设计模式
步骤 | 耗时 | 百分比 |
---|---|---|
需求分析 | 10min | 5.7% |
设计 | 25min | 14.7% |
代码实现 | 80min | 47.1% |
测试 | 10min | 5.7% |
分析总结 | 45min | 26.5% |