zoukankan      html  css  js  c++  java
  • 一个Junit做单元测试的简单例子

    例子很简单,设计一个程序,输入三个整数,判断这三个整数作为三边的长度能否构成一个三角形,如果可以则返回三角形的类型(普通三角形,等腰三角形或者等边三角形)

    实现代码(我自己随便写的做个例子用,估计代码质量很差。。):

    public class JudgeTriangle
    {
     //普通三角形
     private static int NORMAL_TRIANGLE = 0;
     //等腰三角形
     private static int ISOSCELES_TRIANGLE  = 1;
     //等边三角形
     private static int EQUILATERAL_TRIANGEL = 2;
     //无法构成三角形
     private static int ERROR_CODE = -1;

     public int getNormalTriangle()
     {
      return NORMAL_TRIANGLE;
     }
     public int getIsoscelesTriangle()
     {
      return ISOSCELES_TRIANGLE;
     }
     public int getEquilateralTriangle()
     {
      return EQUILATERAL_TRIANGEL;
     }
     public int getErrorCode()
     {
      return ERROR_CODE;
     }
     public int judgeType(int a,int b,int c)
     {
      if ((a<=0)||(b<=0)||(c<=0))
      {
       return ERROR_CODE;
      }
      if ((a+b<c || Math.abs(a-b)>c) || (b+c<a || Math.abs(b-c)>a) || (a+c<b || Math.abs(a-c)>b))
      {
       return ERROR_CODE;
      }
      if (a==b || b==c || c==a)
      {
       if (a==b && b==c)
       {
        return EQUILATERAL_TRIANGEL;
       }
       else
       {
        return ISOSCELES_TRIANGLE;
       }
      }
      else
      {
       return NORMAL_TRIANGLE;
      }
     } 
    }

    单元测试代码:

    import static org.junit.Assert.*;
    import org.junit.After;
    import org.junit.Before;
    import org.junit.Test;

    public class JudgeTriangleTest {
     
     private static JudgeTriangle judgeTriangle = new JudgeTriangle();
     
     @Before
     public void setUp() throws Exception {
     }

     @Test
     public void testIsNormalTriangle() throws Exception {
      assertEquals(judgeTriangle.getNormalTriangle(),judgeTriangle.judgeType(3, 4, 5));
     }
     @Test
     public void testIsIsoscelesTriangle() throws Exception {
      assertEquals(judgeTriangle.getIsoscelesTriangle(),judgeTriangle.judgeType(2, 2, 3));
     }
     @Test
     public void testEquilateralTriangle() throws Exception {
      assertEquals(judgeTriangle.getEquilateralTriangle(),judgeTriangle.judgeType(2, 2, 2));
     }
     @Test
     public void testNotTriangle() throws Exception {
      assertEquals(judgeTriangle.getErrorCode(),judgeTriangle.judgeType(10, -10, 10));
      assertEquals(judgeTriangle.getErrorCode(),judgeTriangle.judgeType(10, 2, 2));
     }
     
     @After
     public void tearDown() throws Exception {
     }

    }

    这两个链接对于junit的介绍比较简单好懂

    http://tech.sina.com.cn/s/2010-01-18/14081218926.shtml

    http://leowzy.iteye.com/blog/793077

  • 相关阅读:
    Log4Net详解(2)结构篇
    vs2012中使用Spring.NET报错:Spring.Context.Support.ContextRegistry 的类型初始值设定项引发异常
    vs2010无法打开项目文件的解决方法
    Spring.NET使用assembly方式设置配置文件
    WebService生成XML文档时出错。不应是类型XXXX。使用XmlInclude或SoapInclude属性静态指定非已知的类型。
    [转贴]如何做好一个垂直搜索引擎
    怎样预防RSI呢?
    推荐一个打折的站点
    五子棋程序
    共享两本C++的好书
  • 原文地址:https://www.cnblogs.com/tuochao/p/4472201.html
Copyright © 2011-2022 走看看