public void BoundaryArabicTest() { GalacticUnit gu = new GalacticUnit("MMMCMXCIX"); int arabicVal = gu.ToArabic(); Assert.AreEqual <int>(arabicVal, 3999); }
public void ZeroArabicTest() { GalacticUnit gu = new GalacticUnit(); int arabicVal = gu.ToArabic(); Assert.AreEqual <int>(arabicVal, 0); }
public void ArabicTest() { GalacticUnit gu = new GalacticUnit("MCMXLIV"); int arabicVal = gu.ToArabic(); Assert.AreEqual <int>(arabicVal, 1944); }
public void SubtractionTest() { GalacticUnit a = new GalacticUnit("X"); //10 GalacticUnit b = new GalacticUnit("V"); //5 GalacticUnit gu = a - b; Assert.AreEqual <long>(gu.ToArabic(), 5); Assert.AreEqual <string>(gu.Value, "V"); }
public void DivisionTest() { GalacticUnit a = new GalacticUnit("X"); //10 GalacticUnit b = new GalacticUnit("V"); //5 GalacticUnit gu = a / b; Assert.AreEqual <long>(gu.ToArabic(), 2); Assert.AreEqual <string>(gu.Value, "II"); }
public void MultiplicationTest() { GalacticUnit a = new GalacticUnit("X"); //10 GalacticUnit b = new GalacticUnit("V"); //5 GalacticUnit gu = a * b; Assert.AreEqual <long>(gu.ToArabic(), 50); Assert.AreEqual <string>(gu.Value, "L"); }
public float ProcessStatement(IContext _context, string statement) { string[] split = statement.Split(' '); GalacticUnit gu = new GalacticUnit(split[2]); _context.AddVariable(split[0], gu); return(gu.ToArabic()); }
public float ProcessStatement(IContext _context, string statement) { string[] calculationSplit = statement.Split(new string[] { " is " }, StringSplitOptions.None); string[] tokens = calculationSplit[1].Split(' ', '?'); StringBuilder sb = new StringBuilder(); foreach (var t in tokens) { if (string.IsNullOrWhiteSpace(t)) { continue; } sb.Append(_context.GetVariable(t).Value); } GalacticUnit galacticUnit = new GalacticUnit(sb.ToString()); return(galacticUnit.ToArabic()); }