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); } }
public void ShouldNotGetHundredObjectLessThanHundred() { Assert.Throws <InvalidNumberRangeException>(delegate { var h = new HundredPlace(23); }); }
public void ShouldNotGetHundredObjectInThousand() { Assert.Throws <InvalidNumberRangeException>(delegate { var h = new HundredPlace(1000); }); }
public void ShouldGetHundredWord300() { var h = new HundredPlace(300); Assert.AreEqual(h.ToWord(), "Three Hundred"); }