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

  • 相关阅读:
    Voice over IP
    [转】:TCP/IP详解学习笔记(5)
    windows phone 7 version: ObservableCollectionEx (1)
    MA0003 移动智能网原理
    TCP 网络书籍
    windows Phone 7如何实现background的情况下不丢失数据
    最近想要学习和了解的东东
    Windows phone 7 开发注意事项
    android Tab标签下得按钮
    新浪微博教程(一)
  • 原文地址:https://www.cnblogs.com/fogmisty/p/8622628.html
Copyright © 2011-2022 走看看