软件构造笔记(代码相关)1

软件构造(代码相关)

Automated Unit Testing with JUnit

// 在每个测试方法前面使用@Test标注指明
// 即使一个测试方法失败,其他方法仍将运行

@Test
public void testMax(){
    assertEquals(2, Math.max(1, 2));
}

@Test
public void lookupEmailAddresses() {
	assertThat(new CartoonCharacterEmailLookupService().
		getResults("looney"), allOf(
			not(empty()),
			containsInAnyOrder(
				allOf(instanceOf(Map.class), hasEntry("id", "56"),
					hasEntry("email", "roadrunner@fast.org")),
				allOf(instanceOf(Map.class), hasEntry("id", "76"),
					hasEntry("email", "wiley@acme.com"))
			)
	));
}

assertArrayEquals("failure - byte arrays not same", expected, actual);
assertEquals("failure - strings are not equal", "text", "text");
assertFalse("failure - should be false", false);
assertNotNull("should not be null", new Object());
assertNotSame("should not be same Object", new Object(), new Object());
assertNull("should be null", null);
assertSame("should be same", aNumber, aNumber);
assertTrue("failure - should be true", true);
assertThat("albumen", both(containsString("a")).and(containsString("b")));
assertThat(Arrays.asList("one", "two", "three"), hasItems("one", "three"));
assertThat("good", allOf(equalTo("good"), startsWith("good")));

Boxed primitives

List<Integer>list = new ArrayList
list.add(1);
list.add(50);
//1和 50 不是对象类型,但编译能够通过,自动完成转换,但会降低效率
//等价于:
list.add(Integer.valueOf(1)); // 自动完成的操作
list.add(Integer.valueOf(50));

Conversion by casting 类型转化

int a = 2; // a = 2
double a = 2; // a = 2.0 (Implicit)
int a = (int) 18.7; // a = 18
double a = (double)2/3; // a = 0.66666...

int a = 18.7; // ERROR
String a = 1; // ERROR
double a = 2/3; // a = 0.0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值