require File.dirname(__FILE__) + '/../test_helper'
class UserTest < Test::Unit::TestCase
fixtures :users
def test_full_name_without_middle_initial
user = User.new(:first_name => 'John', :last_name => 'Doe')
assert_equal 'John Doe', user.full_name
end
def test_full_name_with_middle_initial
user = User.new(:first_name => 'John', :middle_initial => 'H', :last_name => 'Doe')
assert_equal 'John H. Doe', user.full_name
end
def test_full_name_with_blank_middle_initial
user = User.new(:first_name => 'John', :middle_initial => '', :last_name => 'Doe')
assert_equal 'John Doe', user.full_name
end
end
这是011中的单元测试代码,是不是很复杂冗长,好吧,让我们来重构一下
# user_test.rb
def test_full_name
assert_equal 'John Doe', full_name('John', nil, 'Doe'), "nil middle initial"
assert_equal 'John H. Doe', full_name('John', 'H', 'Doe'), "H middle initial"
assert_equal 'John Doe', full_name('John', '', 'Doe'), "blank middle initial"
end
def full_name(first, middle, last)
User.new(:first_name => first, :middle_initial => middle, :last_name => last).full_name
end
代码是清晰多了,但有人提出来testing one assertion per test
详见:
http://blog.jayfields.com/2007/06/testing-one-assertion-per-test.html
分享到:
相关推荐
在本文中,我们将深入探讨与"PSR.zip_matlab PSR_时间序列重构_混沌时间序列_空间重构_重构相空间"相关的主题,这主要涉及混沌理论和时间序列分析在MATLAB环境中的应用。时间序列重构是研究复杂系统动态行为的重要...
3. 对提取的每个IMF进行操作,例如滤波、平滑、去噪等,这一步是可选的,取决于具体的应用需求。 4. 将处理过的IMF按照它们被提取的顺序进行逆序叠加,以重构原始信号。 5. 输出重构后的信号。 通过这种方式,EMD...
3. 对于PSNR计算,先将差异转换到对数尺度,然后计算最大值与均方根误差之比的对数。 通过分析“FastLaplace.rar”中的代码或文档,我们可以更深入地了解FastLaplace算法的具体实现细节,包括它如何处理噪声、如何...
在信号处理领域,"band_pass.zip_信号重构_窄带信号_重构 窄带"这一主题涉及到的核心概念是窄带信号的处理和重构技术。本文将深入探讨这两个关键知识点,以及它们在实际应用中的重要性。 首先,我们来理解什么是...
1. 创建 Issue - 对于较大的改动(如新功能,大型重构等)最好先开issue讨论一下,较小的improvement(如文档改进,bugfix等)直接发P
牛顿拉普逊法就算配电网重构的潮流程序,结构清晰易懂。
在电子工程和数字信号处理领域,信号采样与重构是一个至关重要的概念,它涉及到如何将连续时间信号转换为离散时间信号,以便于在计算机中进行处理,然后再将处理后的信号还原成原始形式。MATLAB是一款强大的数值计算...
资源名:用于信号的EMD、EEMD、VMD分解_vmd重构_故障诊断emd_故障诊断_故障重构_VMD信号重构 资源类型:matlab项目全套源码 源码介绍:用于信号的分解、降噪和重构,实现故障诊断 源码说明: 全部项目源码都是经过...
《重构:改善既有代码设计》是一本由Martin Fowler所著的经典IT著作,它详细阐述了在软件开发过程中如何通过重构来提升代码质量、可读性和维护性。重构是一种系统性的方法,旨在不改变软件外在行为的前提下,改进其...
在IT领域,尤其是在复杂系统分析和软件工程中,“重构”是一个至关重要的概念。"spectrum_引子_重构_"这个标题暗示我们将探讨重构在相空间分析中的应用,特别是在计算吸引子的分形维数时。这涉及到混沌理论、非线性...
《CS_OMP重构:压缩感知与重构算法的实践探索》 在信息技术领域,压缩感知(Compressive Sensing,简称CS)是一种革命性的信号处理技术,它打破了传统的采样理论,允许我们以远低于奈奎斯特定理所要求的速率进行...
《基于OMP的正弦信号压缩感知与重构误差分析》 在信息技术领域,压缩感知(Compressive Sensing,CS)已经成为一种高效的数据采集和信号恢复技术。该技术突破了传统采样理论,允许稀疏信号在远低于奈奎斯特定理所...
生成changelogchangelog介绍go生成changelog如何生成根据git提交commit历史生成changelog提交格式- docs:文档(d
本项目主要关注的是使用MATLAB进行小波变换实现图像的分解和重构过程,以及评估重构后图像与原始图像之间的差异。 首先,我们来了解一下小波变换的基本概念。小波变换(Wavelet Transform)是一种数学方法,它通过...
标题中的“用于信号的EMD、EEMD、VMD分解_vmd重构_故障诊断emd_故障诊断_故障重构_VMD信号重构_源码.rar.rar”揭示了该压缩包文件包含的是与信号处理相关的源代码,特别是涉及了三种重要的信号分解方法:Empirical ...
【标题】"matlab.zip_蚁群 重构_蚁群算法 潮流_蚁群算法重构_重构 蚁群"所涉及的核心知识点主要围绕蚁群算法(Ant Colony Optimization, ACO)及其在潮流计算(Power Flow Calculation)中的应用进行深入探讨。...
"CS_CoSaMP_matlab_重构算法_压缩感知_"这个标题所指向的,就是一种基于压缩感知的重构算法——CoSaMP(Compressive Sampling Matching Pursuit)的MATLAB仿真代码。 CoSaMP是匹配追踪算法(Matching Pursuit, MP)...
在IT行业中,尤其是在医疗影像处理领域,三维重构技术扮演着至关重要的角色。"NewPrjName.rar" 是一个与三维医学图像重构相关的项目文件压缩包,它涉及到的是使用C++编程语言来实现这一复杂的计算过程。这个项目的...
不同信号稀疏度K下,信号重构概率程序(信号长度N:1-400,M0-300)
【标题】"VisualHullFromMirrors-master_fewerqw8_三维图片_Perpdist_三维重构_重构_" 涉及的是一个关于三维重构的项目,该项目利用镜像原理(Visual Hull)来实现对物体的三维建模。Visual Hull是计算机视觉领域的...