Exemple #1
0
        public void MakeSureThatNonRepeatedDLVDoNotThrowException()
        {
            var inputWithoutRepeatedDs = "MDX";
            var parser = new RomanToDecimanlLikeNumeralParser <RomanLanguage>();

            Assert.AreEqual(1510, parser.ParseNumber(inputWithoutRepeatedDs));
        }
Exemple #2
0
        public void MakeSureThatRepeatedDLVThrowAnException()
        {
            var inputWithRepeatedDs = "DDD";
            var parser = new RomanToDecimanlLikeNumeralParser <RomanLanguage>();

            try
            {
                Assert.AreEqual(1500, parser.ParseNumber(inputWithRepeatedDs));
                Assert.Fail("Exception is thrown when a D is repeated.");
            }
            catch { }
        }
Exemple #3
0
        protected int CalculateValue(IProvideQuestion <T> q)
        {
            var parser = new RomanToDecimanlLikeNumeralParser <RomanLanguage>();
            var value  = parser.ParseNumber(q.Information.Number);

            foreach (var i in Question.Knowledge.Informations)
            {
                if (i.Item.Equals(Question.Information.Item))
                {
                    var iNumberDecimal = parser.ParseNumber(i.Number);
                    var perItem        = (double)i.Value / iNumberDecimal;
                    value = (int)perItem * value;
                    break;
                }
            }

            return(value);
        }
Exemple #4
0
 public Knowledge()
 {
     ForeignLanguageToKnownLanguageDictionary = new Dictionary <string, string>();
     RomanToDecimalParser = new RomanToDecimanlLikeNumeralParser <T>();
     Informations         = new List <Information <T> >();
 }