WEB开发网
开发学院软件开发Java 演化架构与紧急设计: 测试驱动设计,第 2 部分 阅读

演化架构与紧急设计: 测试驱动设计,第 2 部分

 2009-11-05 00:00:00 来源:WEB开发网   
核心提示: 因此,我要针对感兴趣的边界条件编写几个测试,演化架构与紧急设计: 测试驱动设计,第 2 部分(3),见清单 4: 清单 4. 因子的边界条件@Testpublicvoidfactors_for_100(){Classifier5c=newClassifier5(100);c.calculateF

因此,我要针对感兴趣的边界条件编写几个测试,见清单 4:


清单 4. 因子的边界条件
@Test public void factors_for_100() { 
  Classifier5 c = new Classifier5(100); 
  c.calculateFactors(); 
  assertThat(c.getFactors(), 
      is(expectationSetWith(1, 100, 2, 50, 4, 25, 5, 20, 10))); 
} 
 
@Test(expected = InvalidNumberException.class) 
public void cannot_classify_negative_numbers() { 
  new Classifier5(-20); 
} 
 
@Test public void factors_for_max_int() { 
  Classifier5 c = new Classifier5(Integer.MAX_VALUE); 
  c.calculateFactors(); 
  assertThat(c.getFactors(), is(expectationSetWith(1, 2147483647))); 
}  

数字 100 看起来很有意思,因为它有许多因子。通过测试多个不同的数字,我认识到负数对于这个问题领域是没有意义的,所以编写了一个排除负数的测试(在我纠正它之前,这个测试确实会失败)。考虑到负数还让我想到了 MAX_INT:如果系统的用户需要 long 数字,我的解决方案应该怎么处理呢?我原来假设数字是整数,但是需要确保这是有效的假设。

需求收集是 “有损压缩”

请在身边找一张图片或画。假设这张图片包含 2 百万像素。如果把图片压缩到只有 2,000 像素,会发生什么?它看起来还一样吗?(如果它是 Rothko 的画,就有可能看起来一样,但是这种情况很少见)。通过删除信息实现的压缩叫作有损 压缩算法。如果要把压缩版本恢复为 2 百万像素,就需要填补缺失的像素。有时候能够猜测出正确的像素,但是不总是可以。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:演化 架构 紧急

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接