zoukankan      html  css  js  c++  java
  • Software Testing, Lab 1

    1、Install Junit(4.12), Hamcrest(1.3) with Eclipse

    2、Install Eclemma with Eclipse

    3、Write a java program for the triangle problem and test the program with Junit.

    Description of triangle problem:

    Function triangle takes three integers a,b,c which are length of triangle sides; calculates whether the triangle is equilateral, isosceles, or scalene.

    Triangle.java:

     1 package cn.st.lab1;
     2 
     3 public class Triangle {
     4     public static boolean isTriangle(int a, int b, int c) {
     5         if(a+b>c && a+c>b && b+c>a && Math.abs(a-b)<c && 
     6                 Math.abs(a-c)<b && Math.abs(b-c)<a && a>0 && b>0 && c>0) {
     7             return true;
     8         }
     9         else {
    10             return false;
    11         }
    12     }
    13     public static boolean isEquilateral(int a, int b, int c) {
    14         if(isTriangle(a,b,c)) {
    15             if(a == b && a == c) {
    16                 return true;
    17             }
    18         }
    19         return false;
    20     }
    21     public static boolean isIsosceles(int a, int b, int c) {
    22         if(isTriangle(a,b,c)) {
    23             if(a == b || a == c || b == c) {
    24                 return true;
    25             }
    26         }
    27         return false;
    28     }
    29     
    30     public static void Triangle (int a, int b, int c) {
    31         if(isTriangle(a,b,c)) {    //输出以下内容,则为三角形
    32             if(isEquilateral(a,b,c)) {
    33                 System.out.println("Equilateral");
    34             } //如果是等边,只输出等边,不输出等腰
    35             else if(isIsosceles(a,b,c)) {
    36                 System.out.println("Isosceles");
    37             }
    38             else {
    39                 System.out.println("Scalene");
    40             }
    41         }
    42         else {
    43             System.out.println("NotATriangle");
    44         }
    45     }
    46 

    testTriangle.java:

     1 package cn.st.lab1;
     2 
     3 import static org.junit.Assert.*;
     4 
     5 import org.junit.*;
     6 
     7 public class testTriangle {
     8     
     9     Triangle t;
    10     @Before
    11     public void setUp(){
    12         t = new Triangle();
    13     }
    14     
    15     @Test
    16     public void testIsEquilateral() {
    17         assertEquals("testIsEquilateral", true, t.isEquilateral(6,6,6));
    18     }
    19     @Test
    20     public void testIsIsosceles() {
    21         assertEquals("testIsIsosceles", true, t.isIsosceles(5,6,6));
    22     }
    23     @Test
    24     public void testIsTriangle() {
    25         assertEquals("testIsTriangle", true, t.isTriangle(5,6,7));
    26     }
    27     @Test
    28     public void testTriangle() {
    29         t.Triangle(3, 4, 5);
    30         t.Triangle(3, 4, 4);
    31         t.Triangle(4, 4, 4);
    32         t.Triangle(1, 1, 5);
    33     }
    34 }

    实验结果:

    代码请见github:https://github.com/fogmisty/SoftwareTest

  • 相关阅读:
    Office Access 2007 的连接方法变了
    程序员的灯下黑:坚持和良好心态近乎道
    Unity浅析
    WPF设置样式的几种方式
    关于常用 软件授权 Licence说明
    WCF消息队列
    委托利用GetInvocationList处理链式委托
    WCF chatroom源码解析
    写一个Jquery字体插件
    浅谈AsyncState与AsyncDelegate使用的异同
  • 原文地址:https://www.cnblogs.com/fogmisty/p/8622628.html
Copyright © 2011-2022 走看看