4章「意図を語るテスト」に入っていこう。
amountという内部構造がインターフェースとして外に出ているのは 見づらいし良くないよねということでリファクタリングしている。 もっともだ。 そもそも、こちらにはコンストラクタすらないので、このタイミングで作ることにしよう。
impl Dollar { pub fn new(i: i32) -> Dollar { Dollar { amount: i } } } #[test] fn test_multiplication() { let five = Dollar::new(5); assert_eq!(Dollar::new(10), five.times(2)); assert_eq!(Dollar::new(15), five.times(3)); }
コンストラクタの名前は慣習的にnewがよく使われるけど、なんでも構わない。
というわけで、テストからamountというフィールド名が消えたので満足。4章は短い。