`

测试驱动开发(第二节)

 
阅读更多
对于那些可以被当做数值来使用的对象,我们称为VO(Value,Object)数值对象,数值对象的一个要求是一旦数值对象的实例变量值在构造函数中被指定,那么以后就再也不允许变化。
数值对象的一个隐含意思就是,所有的操作都必须返回一个对象,另一个隐含意思就是使用数值对象必须要实现equals函数
//Dollor实体类:
package com.hellokitty.pro;

public class Dollor {
public int ammount;
    //构造函数
public Dollor(int amount) {
this.ammount = amount;
}
public Dollor times(int multiplier) {
return new Dollor(this.ammount*multiplier);
}
public boolean equals(Object object) {
Dollor dollor = (Dollor)object;
return ammount == dollor.ammount;
}
}
//测试类:
package com.hellokitty.tdd;

import org.junit.Test;

import junit.framework.Assert;

import com.hellokitty.pro.Dollor;

public class TestDollor {
@Test
public void testMultiPlication() throws Exception {
Dollor five = new Dollor(5);
Dollor six = new Dollor(6);
Dollor product = five.times(2);
Assert.assertEquals(10, product.ammount);
product = five.times(3);
Assert.assertEquals(15, product.ammount);
Assert.assertTrue(new Dollor(5).equals(new Dollor(5)));
}
}
分享到:
评论
1 楼 dreamkyh 2012-03-30  
好犀利的测试驱动啊,vo我还是不太明白,能帮忙解释下嘛

相关推荐

    angularjs-tdd-demo:TutsPlus AngularJS测试驱动开发演示

    欢迎使用AngularJS测试驱动开发演示该文件夹包含Daniel Stern的TutsPlus Angular测试驱动开发课程的最新代码(截至2015年9月27日)。 此外,该文件夹还包含其他代码,这些其他代码根据课程中的每个课程进行组织。 第...

    react-test-driven-development:React测试驱动开发研讨会的源代码

    塞斯第1部分:简介特罗菲·德·泰斯特测试驱动开发(TDD) 概述daaplicação第二节:TestesUnitários 组件列表项的分解Refatorando os testes React测试库德布勒·德·德斯特第3部分:TDD em umFormulário 退伍...

    Android开发案例驱动教程 配套代码

    第2章 Android开发环境搭建 5 2.1 Eclipse和ADT插件 5 2.1.1 Eclipse安装 5 2.1.2 ADT插件 6 2.2 Android SDK 8 2.2.1 Android SDK的获得 8 2.2.2 Android SDK版本说明 10 2.2.3 ADT配置 10 2.3 Android开发...

    韦东山Linux视频第1期_裸板_UBoot_文件系统_驱动初步

    第9课第2节 u-boot分析之Makefile结构分析 第9课第3节 u-boot分析之源码第1阶段 第9课第3节 u-boot分析之源码第2阶段 第9课第4节 u-boot分析之u-boot命令实现 第9课第5节 u-boot分析_uboot启动内核 第10课第1...

    JSP程序设计实用教程-源码

     第二节 jdbc四种驱动  第三节 jdbc接口  第四节 数据库连接jdbc实例  第五节 连接地池技术简介  实训  习题  第五章ccjavabean在jsp中的应用  第一节 javabean的概念  第二节 javabean的属性  第三...

    韦东山视频目录+链接整合-1 视频目录

    第9课第2节 u-boot分析之Makefile结构分析 第9课第3节 u-boot分析之源码第1阶段 第9课第3节 u-boot分析之源码第2阶段 第9课第4节 u-boot分析之u-boot命令实现 第9课第5节 u-boot分析_uboot启动内核 第10课第1...

    ARM Cortex-A8和Android 4.x联动报警系统

    第2节:Android 4.x应用开发环境搭建.zip 第3节:Android程序结构.zip 第4节:Android界面布局.zip 第5节:Activity.zip 第6节:Android事件处理.zip 第7节:Android多线程.zip 第8节:Handler消息传递机制.zip 第9...

    win2000驱动程序设计指南

    第1章 驱动程序开发环境 第2章 测试驱动程序 第一部分 一般内核模式 第1章Windows 2000和WDM驱动程序 第2章 分层的I/O、IRP和I/O对象 第3章 系统定义的对象和对驱动程序的支持 第4章 驱动程序...

    Spring-Kotlin-iThome-2021:Spring-Kotlin-iThome-2021

    :smiling_face_with_sunglasses:播放清单议程第13节助焊剂第14节协程第15节安全第16节WebSocket 第17节消息队列第18节日志第19条追踪第20节公制第21节整合测试第22节测试驱动开发附录1为什么选择Kotlin 附录2时间表...

    创龙TMS320F2837xD技术参考手册-第2章第14节:寄存器

    EasyEVM底板采用沉金无铅工艺的2层板设计,不仅为客户提供系统驱动源码、丰富的Demo程序、完整的软件开发包,以及详细的TMS320F28x系统开发文档,还协助客户进行底板的开发,提供长期、全面的技术支持,帮助客户以最...

    js-code-retreat-munich.4

    JS Code Retreat 慕尼黑 #4 - 生命游戏 代码 + 自述文件用于子目录中的注释。 感谢所有去过那里的人! 每节课时长 45 分钟。 第一节:成对的 TDD ...每个人都必须了解如何使用 Google 电子表格进行测试驱动开发。

    硬件工程师手册(全)

    第一章 概述 3 第一节 硬件开发过程简介 3 §1.1.1 硬件开发的基本过程 4 §1.1.2 硬件开发的规范化 4 第二节 硬件工程师职责与基本技能 4 §1.2.1 硬件工程师职责 4 §1.2.1 硬件工程师基本素质...

    《iOS6开发指南》精彩书摘

    了解测试驱动的iOS开发,掌握测试驱动开发流程。学习单元测试框架:OCUnit、GHUnit和OCMock。 第17章“让你的程序“飞”起来——性能优化”。 iOS中开发性能优化方法,其中包括:内存优化、资源文件优化、延迟加载、...

    python入门到高级全栈工程师培训 第3期 附课件代码

    第2章 01 上节课复习 02 arp协议复习 03 字符编码 第3章 01 网络基础和dos命令 02 为何学习linux 03 课程内容介绍 04 操作系统内核与系统调用 05 操作系统安装原理 06 linux操作系统安装 07 初识linux命令 08 ...

    Delphi5开发人员指南

    第2章 Object Pascal语言 16 2.1 注解 16 2.2 新的过程和函数特征 17 2.2.1 圆括号 17 2.2.2 重载 17 2.2.3 缺省值参数 17 2.3 变量 18 2.4 常量 19 2.5 运算符 20 2.5.1 赋值运算符 20 2.5.2 比较运算符 20 2.5.3 ...

    FAAST3:创客学院第 1 周挑战

    #FAAST 系统 Makers Academy 的第 1 周周末挑战。 ##Context 这是 Maker's Academy 的第一个周末挑战。 面临的挑战是创建一个 FAAST(Fast And Acessible Super Tube)系统。...测试驱动开发 ##使用的技术 Ruby 规格

Global site tag (gtag.js) - Google Analytics