• 课堂实践(5月17日)20155318


    MathTool测试类课堂实践(5月17日)20155318

    对P145 MathTool.java (码云链接)

    在IDEA中,使用JUnit进行单元测试,测试用例不少于三个,要包含正常情况,边界情况。提交测试代码和运行结果截图,加上学号水印,提交码云代码链接。

    代码

    1. 产品代码(同课本P145 MathTool.java)
    public class mathTool {
        public static int sum(int...numbers) {
    
            int sum=0;
            for(int number:numbers){
                sum+=number;
            }
            return sum;
        }
    }
    
    1. 测试正常情况
    public void testNormal()throws Exception{
            assertEquals(6,mathTool.sum(1,2,3));
            if(mathTool.sum(a1)==15)
            {
                System.out.println("Passed!");
            }
            else{
                System.out.println("Failed!");
            }
            if(mathTool.sum(a3)==-28){
                System.out.println("Passed!");
            }
            else {
                System.out.println("Failed!");
            }
        }
    
    1. 测试边界情况 (我的理解是数组只有一个元素时,不知道理解的对不对。。。)
     public void testBoundary()throws Exception{
            assertEquals(1,mathTool.sum(1));
            assertEquals(0,mathTool.sum());
        }
    
    1. 完整代码(码云链接)

    截图

    图书馆Book类 (码云链接)

    设计并实现一个Book类,定义义成Book.java,Book 包含书名,作者,出版社和出版日期,这些数据都要定义getter和setter。定义至少三个构造方法,接收并初始化这些数据。覆盖(Override)toString方法,返回良好的含有多行的书的描述信息。覆盖equals方法,书名,作者,出版社和出版日期完全一致才说明两本书是一样的。创建一个测试类Bookshelf, 其中的main方法创建并更新几个Book对象。Book至少包含三本本学期教材内容。

    代码 (码云链接)

    1. Book类
    package exam20170517;
    import java.lang.String;
    import java.io.StringWriter;
    import java.lang.Object;
    public class Book {
        public String name;
        public String writer;
        public String publisher;
        public long date;
    
        public Book(String name, String writer, String publisher, long date) {  //构造方法
            this.setname(name);
            this.setWriter(writer);
            this.setPublisher(publisher);
            this.setDate(date);
        }
    
        public String getname() {
            return name;
        }
    
        public void setname(String name) {
            this.name = name;
        }
    
        public String getWriter() {
            return writer;
        }
    
        public void setWriter(String writer) {
            this.writer = writer;
        }
    
        public String getPublisher() {
            return publisher;
        }
    
        public void setPublisher(String publisher) {
            this.publisher = publisher;
        }
    
        public long getDate() {
            return date;
        }
    
        public void setDate(long date) {
            this.date = date;
        }
    
        @Override
        public String toString() {
            return "|--书名:" + this.getname() + "
    	" + "|--作者:" + this.getWriter() +
                    "
    	" + "|--出版社:" + this.getPublisher() + "
    	" + "|--出版日期:" + this.getDate();
        }
        @Override
        public boolean equals(Object o) {
            if (this == o) return true;
            if (o == null || getClass() != o.getClass()) return false;
    
            Book book = (Book) o;
    
            if (date != book.date) return false;
            if (!name.equals(book.name)) return false;
            if (!writer.equals(book.writer)) return false;
            return publisher.equals(book.publisher);
    
        }
    }
    
    
    1. 书架(测试类,测试输出和比较两本书是否相同)
    package exam20170517;
    import java.lang.Object;
    public class BookShelf {
        public static void main(String[] args) {
                Book b1 = new Book("Java程序设计", "林xx", "出版社1", 20110101);
                System.out.println(b1);
                Book b2 = new Book("数据结构", "王xx", "出版社2", 20120101);
                System.out.println(b2);
                Book b3 = new Book("密码学", "刘xx", "出版社3", 20130101);
                System.out.println(b3);
                Book b4 = new Book("Java程序设计", "林xx", "出版社1", 20110101);
                System.out.println(b4);
                System.out.print("书一和书二;");
                System.out.println(b1.equals(b2));
                System.out.print("书一和书四;");
                System.out.println(b1.equals(b4));
            }
    
        }
    

    截图

    补充

    上图的输出不符合实际,经修改,如下~

  • 相关阅读:
    Lua大整数的实现
    std::allocator在stl容器中使用问题
    深度学习框架安装
    Tensorflow安装使用一段时间后,import时出现错误:ImportError: DLL load failed
    论文解读:SIFA
    多位微软MVP推荐,第一本ASP.NET Core 3.1的书来了
    ASP.NET Core 进程内与进程外的性能对比
    基于Netty的程序主动发送消息
    dbroot文件结构解析(一)
    qtree文件结构解析(二)
  • 原文地址:https://www.cnblogs.com/lxy1997/p/6866268.html
Copyright © 2020-2023  润新知