public UnitExpression(AliasMapper aliasMap, MetalMapper metalMap, IDecimalConverter converter, ExpressionValidationHelper helper)
 {
     _aliasMap  = aliasMap;
     _metalMap  = metalMap;
     _converter = converter;
     _helper    = helper;
 }
 public CommodityConversionExpression(CommodityIndex commodityIndex, AliasMapper aliasMap, IDecimalConverter converter, ExpressionValidationHelper helper)
 {
     this.commodityIndex = commodityIndex;
     this.aliasMap       = aliasMap;
     this.converter      = converter;
     this.helper         = helper;
 }
 public WordExpression(RomanPseudonymMapper pseudonymMap, WordMapper wordMap, IDecimalConverter converter, ExpressionValidationHelper helper)
 {
     _pseudonymMap = pseudonymMap;
     _wordMap      = wordMap;
     _converter    = converter;
     _helper       = helper;
 }
Пример #4
0
 public MetalExpression(PseudonymMapper pseudonymMap, MetalMapper metalMap, IDecimalConverter converter, ExpressionValidationHelper helper)
 {
     _pseudonymMap = pseudonymMap;
     _metalMap     = metalMap;
     _converter    = converter;
     _helper       = helper;
 }
        public void UnitExpressionTest()
        {
            PseudonymMapper pseudonymMap = new PseudonymMapper();
            RomanConverter  converter    = new RomanConverter();
            MetalMapper     metalMap     = new MetalMapper();

            pseudonymMap.AddPseudonym("GLOB", "I");
            pseudonymMap.AddPseudonym("pish", "X");
            ExpressionValidationHelper helper     = new ExpressionValidationHelper(pseudonymMap, metalMap);
            UnitExpression             expression = new UnitExpression(pseudonymMap, metalMap, converter, helper);

            expression.Execute("pish glob Iron is 110 Credits");
            Assert.True(metalMap.Exists("Iron"));
            Assert.Equal <double>(10, metalMap.GetPriceByMetal("Iron"));
            expression.Execute("glob pish Iron is 6300 Credits");
            Assert.Equal <double>(700, metalMap.GetPriceByMetal("Iron"));
        }
        public void UnitExpressionTest()
        {
            AliasMapper    aliasMap       = new AliasMapper();
            RomanConverter converter      = new RomanConverter();
            CommodityIndex commodityIndex = new CommodityIndex();

            aliasMap.AddAlias("glob", "C");
            aliasMap.AddAlias("pish", "X");
            ExpressionValidationHelper helper     = new ExpressionValidationHelper(aliasMap, commodityIndex);
            UnitExpression             expression = new UnitExpression(commodityIndex, aliasMap, converter, helper);

            expression.Execute("pish glob Iron is 7020 Credits");
            Assert.IsTrue(commodityIndex.Exists("Iron"));
            Assert.AreEqual <double>(commodityIndex.GetPriceByCommodity("Iron"), 78);
            expression.Execute("pish glob Iron is 6300 Credits");
            Assert.AreEqual <double>(commodityIndex.GetPriceByCommodity("Iron"), 70);
        }
Пример #7
0
        public void UnitExpressionTest()
        {
            AliasMapper    AliasMap  = new AliasMapper();
            RomanConverter converter = new RomanConverter();
            MetalMapper    metalMap  = new MetalMapper();

            AliasMap.AddAlias("glob", "I");
            AliasMap.AddAlias("pish", "X");
            ExpressionValidationHelper helper     = new ExpressionValidationHelper(AliasMap, metalMap);
            UnitExpression             expression = new UnitExpression(AliasMap, metalMap, converter, helper);

            expression.Execute("glob pish Iron is 900 Credits");
            Assert.True(metalMap.Exists("Iron"));
            Assert.Equal <double>(100, metalMap.GetPriceByMetal("Iron"));

            expression.Execute("pish pish Iron is 400 Credits");
            Assert.Equal <double>(20, metalMap.GetPriceByMetal("Iron"));
        }
Пример #8
0
        public void UnitExpressionTest()
        {
            AliasMapper    aliasMap       = new AliasMapper();
            RomanConverter converter      = new RomanConverter();
            CommodityIndex commodityIndex = new CommodityIndex();

            aliasMap.AddAlias("glob", "I");
            aliasMap.AddAlias("prok", "V");
            aliasMap.AddAlias("pish", "X");
            aliasMap.AddAlias("tegj", "L");

            ExpressionValidationHelper helper     = new ExpressionValidationHelper(aliasMap, commodityIndex);
            UnitExpression             expression = new UnitExpression(commodityIndex, aliasMap, converter, helper);

            expression.Execute("glob glob silver is 34 Credits");
            Assert.True(commodityIndex.Exists("silver"));
            Assert.Equal <double>(17, commodityIndex.GetPriceByCommodity("silver"));
            expression.Execute("glob prok iron is 400 Credits");
            Assert.Equal <double>(100, commodityIndex.GetPriceByCommodity("iron"));
        }
        public static List <IExpression> GetExpressions(AliasMapper aliasMap, IDecimalConverter converter, CommodityIndex commodityIndex, ExpressionValidationHelper helper)
        {
            List <IExpression> expressions = new List <IExpression>();

            expressions.Add(new AliasExpression(aliasMap));
            expressions.Add(new UnitExpression(commodityIndex, aliasMap, converter, helper));
            expressions.Add(new AliasQuestionExpression(aliasMap, converter, helper));
            expressions.Add(new UnitQuestionExpression(commodityIndex, aliasMap, converter, helper));
            expressions.Add(new  CommodityConversionExpression(commodityIndex, aliasMap, converter, helper));

            return(expressions);
        }
Пример #10
0
 public ExpressionParser(AliasMapper aliasMap, IDecimalConverter converter, CommodityIndex commodityIndex)
 {
     helper      = new ExpressionValidationHelper(aliasMap, commodityIndex);
     expressions = RomanToDecimalFactory.GetExpressions(aliasMap, converter, commodityIndex, helper);
 }
Пример #11
0
 public AliasQuestionExpression(AliasMapper aliasMap, IDecimalConverter converter, ExpressionValidationHelper helper)
 {
     this.aliasMap  = aliasMap;
     this.converter = converter;
     this.helper    = helper;
 }
 public AliasQuestionExpression(AliasMapper aliasMap, IDecimalConverter converter, ExpressionValidationHelper helper)
 {
     _aliasMap  = aliasMap;
     _converter = converter;
     _helper    = helper;
 }
Пример #13
0
 public PseudonymQuestionExpression(PseudonymMapper pseudonymMap, IDecimalConverter converter, ExpressionValidationHelper helper)
 {
     _pseudonymMap = pseudonymMap;
     _converter    = converter;
     _helper       = helper;
 }