public UnitExpression(AliasMapper aliasMap, MetalMapper metalMap, IDecimalConverter converter, ExpressionValidationHelper helper) { _aliasMap = aliasMap; _metalMap = metalMap; _converter = converter; _helper = helper; }
static void Main(string[] args) { try { string inputPath = "../../input.txt"; string inputText = File.ReadAllText(inputPath); string[] inputLines = inputText.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); Console.WriteLine(inputText); Console.WriteLine(); AliasMapper aliasMap = new AliasMapper(); IDecimalConverter converter = new RomanConverter(); MetalMapper metalMap = new MetalMapper(); ExpressionParser parser = new ExpressionParser(aliasMap, converter, metalMap); foreach (string line in inputLines) { parser.Parse(line); } Console.ReadLine(); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
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(); 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")); }
static void Main(string[] args) { Console.WriteLine(); string path = "../../input.txt"; string readText = File.ReadAllText(path); string[] lines = readText.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); Console.WriteLine(readText); Console.WriteLine(); AliasMapper AliasMap = new AliasMapper(); IDecimalConverter converter = new RomanConverter(); MetalMapper metalMap = new MetalMapper(); ExpressionParser parser = new ExpressionParser(AliasMap, converter, metalMap); foreach (string line in lines) { parser.Parse(line); } Console.ReadLine(); }
public ExpressionValidationHelper(AliasMapper pseudonymMap, MetalMapper metalMap) { _pseudonymMap = pseudonymMap; _metalMap = metalMap; }
private List <IExpression> GetExpressions(AliasMapper aliasMap, IDecimalConverter converter, MetalMapper metalMap, ExpressionValidationHelper helper) { List <IExpression> expressions = new List <IExpression>(); expressions.Add(new AliasExpression(aliasMap)); expressions.Add(new UnitExpression(aliasMap, metalMap, converter, helper)); expressions.Add(new AliasQuestionExpression(aliasMap, converter, helper)); expressions.Add(new UnitQuestionExpression(aliasMap, metalMap, converter, helper)); expressions.Add(new MetalExpression(aliasMap, metalMap, converter, helper)); return(expressions); }
public ExpressionParser(AliasMapper aliasMap, IDecimalConverter converter, MetalMapper metalMap) { helper = new ExpressionValidationHelper(aliasMap, metalMap); expressions = GetExpressions(aliasMap, converter, metalMap, helper); }
public ExpressionValidationHelper(AliasMapper aliasMap, MetalMapper metalMap) { _aliasMap = aliasMap; _metalMap = metalMap; }
private List <IExpression> GetExpressions(PseudonymMapper pseudonymMap, IDecimalConverter converter, MetalMapper metalMap, ExpressionValidationHelper helper) { List <IExpression> expressions = new List <IExpression>(); expressions.Add(new PseudonymExpression(pseudonymMap)); expressions.Add(new UnitExpression(pseudonymMap, metalMap, converter, helper)); expressions.Add(new PseudonymQuestionExpression(pseudonymMap, converter, helper)); expressions.Add(new UnitQuestionExpression(pseudonymMap, metalMap, converter, helper)); expressions.Add(new MetalExpression(pseudonymMap, metalMap, converter, helper)); return(expressions); }
public ExpressionParser(PseudonymMapper pseudonymMap, IDecimalConverter converter, MetalMapper metalMap) { helper = new ExpressionValidationHelper(pseudonymMap, metalMap); expressions = GetExpressions(pseudonymMap, converter, metalMap, helper); }