Refactor Money with TDD - 02

No Primitives - Again Since we're poking around the ExchangeRates area, one thing has stood out to me. public interface IExchangeRateTo { double To(Currency currency); } This interface has a method that returns a double... a Primitive. That's ... Nooooooo! What can we do to fix this? Clearly…

Refactor Money with TDD - 01

BONUS TECHNIQUES Let's look at some bonus techniques I use when working in projects. * PrivateCtor - Utility class to access private constructors * No Primitives - Exchange Rate returns a double * MicroObjects - We haven't hit the size limit yet; let's explore that. * ToSystemType -…

Make Money with TDD - 08

No Primitives I'm VERY against primitives' being passed around in a system. As soon as I started putting in hard coded strings of the currency I knew it'd have to be extracted out into something that's not a primitive. I didn't…

Make Money with TDD - 07

I'm Not Adding As mentioned, What about converting between currencies without adding currencies together? That seems like it'll be a useful thing for our system. Let's mark that as our current work in progress! > 5 USD * 2 = 10 USD 10 EUR * 2 = 20…

Make Money with TDD - 06

Cross Equality The requirement we want to get to now is to allow our equality to work across currencies > 5 USD * 2 = 10 USD 10 EUR * 2 = 20 EUR 4002 KRW / 4 = 1000.5 KRW 5 USD + 10 USD = 15 USD 5 USD + 10 EUR = 17 USD 12 USD…

Make Money with TDD - 05

Cross Currency Our next requirement is to add different currencies together. > 5 USD * 2 = 10 USD 10 EUR * 2 = 20 EUR 4002 KRW / 4 = 1000.5 KRW 5 USD + 10 USD = 15 USD 5 USD + 10 EUR = 17 USD 1 USD + 1100 KRW = 2200 KRW 2.50 USD * 6…

Make Money with TDD - 04

The Fixing I don't know what it's gonna take to work through fixing this. It's a pretty big goof to have missed that I need to have a Money object back... Oh well. Let's get to it. A nice thing is that…

Make Money with TDD - 03

Money Splits And we're back! Let's remind ourselves (yeah yeah... me) of our requirements > 5 USD * 2 = 10 USD 10 EUR * 2 = 20 EUR 4002 KRW / 4 = 1000.5 KRW 5 USD + 10 EUR = 17 USD 1 USD + 1100 KRW = 2200 KRW 2.50 USD…