public void ShouldGetDecimalWord() { var c = new CentPlace(1); Assert.AreEqual(c.ToWord(), "One Cent"); c = new CentPlace(2); Assert.AreEqual(c.ToWord(), "Two Cents"); c = new CentPlace(10); Assert.AreEqual(c.ToWord(), "Ten Cents"); c = new CentPlace(37); Assert.AreEqual(c.ToWord(), "Thirty Seven Cents"); }
public void ShouldThowErrorWhenGetCents() { Assert.Throws<InvalidNumberRangeException>(delegate { var h = new CentPlace(0); }); }
private void Init(decimal number) { //maximum number 999 million. if (number < 0 || number > 999999999) throw new InvalidNumberRangeException(); var n = (int)number; if (Validator.ValidateMillionPlace(n)) million = new MillionPlace(n); var n1 = (n >= 1000000) ? n - (n / 1000000 * 1000000) : n; if (Validator.ValidateThousandPlace(n1)) thousand = new ThousandPlace((int)n1); var n2 = (n1 >= 1000) ? n - (n / 1000 * 1000) : n1; if (Validator.ValidateHundredPlace(n2)) hundred = new HundredPlace((int)n2); var n3 = (n2 >= 100) ? n - (n / 100 * 100) : n2; if (Validator.ValidateTenPlace(n3)) ten = new TenPlace((int)n3); else { var n4 = (n3 >= 10) ? n - (n / 10 * 10) : n3; if (Validator.ValidateOnePlace(n4)) one = new OnePlace((int)n4); } var centStr = ""; var centArray = number.ToString("0.00").Split(".".ToCharArray()); if (centArray.Length == 2) centStr = centArray[1]; var c = 0; if (int.TryParse(centStr, out c) && Validator.ValidateCentPlace(c)) { cent = new CentPlace(c); } }