public void EnsureOutputCanBeGeneratedWithMineralMap() { IInputParser documentParser = new InputParser(); IInterGalacticMapper mapper = new InterGalacticMapper(); IInputRetriever documentRetreiver = new FileReader(); InterGalacticCalculator calculator = new InterGalacticCalculator("", mapper, documentRetreiver, documentParser); //var text = calculator.GetInputFromFile("..\\..\\..\\MerchantsGuideToTheGalaxy\\Resources\\input.txt"); //var parsedInput = calculator.ParseInputFromFile(text); //var galacticUnits = calculator.MapUnits(parsedInput); //var metalToCreditsMap = calculator.MapMetalToCredits(parsedInput, galacticUnits); //var value = calculator.CalculateCredits(parsedInput, metalToCreditsMap, galacticUnits); //var unitValue = calculator.CalculateValue(parsedInput, galacticUnits); var unitValue = new Dictionary <string, int>(); unitValue.Add("glob", 1); unitValue.Add("how many Silver is glob Gold ?", 0); var creditsvalue = new Dictionary <string, double>(); creditsvalue.Add("how manyy Silver is glob Gold ?", 0); var outputValue = calculator.GenerateOutput(unitValue, creditsvalue); //Assert.AreEqual(true, outputValue != ""); Assert.AreEqual(true, outputValue.Contains("I have no idea what you are talking about")); }
public void TestValueOfMetal() { IInterGalacticMapper mapper = new InterGalacticMapper(); IDictionary <string, double> testDict = mapper.GenerateCommonMetalToCreditMap("glob glob Silver is 34 Credits", mapper.GenerateInterGalacticUnitMap("glob is I")); Assert.AreEqual("silver", testDict.Keys.First()); Assert.AreEqual(17, testDict.Values.First()); }
public void EnsureCalculatorCanBeInstatiated() { IInputParser documentParser = new InputParser(); IInterGalacticMapper mapper = new InterGalacticMapper(); IInputRetriever documentRetreiver = new FileReader(); InterGalacticCalculator calculator = new InterGalacticCalculator("", mapper, documentRetreiver, documentParser); Assert.IsInstanceOfType(calculator, typeof(InterGalacticCalculator)); }
public void EnsureCalculatorCanGetText() { IInputParser documentParser = new InputParser(); IInterGalacticMapper mapper = new InterGalacticMapper(); IInputRetriever documentRetreiver = new FileReader(); InterGalacticCalculator calculator = new InterGalacticCalculator("", mapper, documentRetreiver, documentParser); var text = calculator.GetInputFromFile("..\\..\\..\\MerchantsGuideToTheGalaxy\\Resources\\input.txt"); Assert.IsNotNull(text); Assert.AreEqual(true, text.Contains("glob")); }
public void InterGalacticUnitsHaveValues() { IInterGalacticMapper mapper = new InterGalacticMapper(); var galacticUnits = mapper.GenerateInterGalacticUnitMap("glob is I"); var result = mapper.GenerateInterGalacticUnitMap("tegj is L"); Assert.AreEqual(true, galacticUnits.ContainsKey("glob")); Assert.AreEqual(true, galacticUnits.ContainsValue(1)); Assert.AreEqual(true, galacticUnits.ContainsKey("tegj")); Assert.AreEqual(true, galacticUnits.ContainsValue(50)); }
public void EnsureCalculateValueFromInput() { IInputParser documentParser = new InputParser(); IInterGalacticMapper mapper = new InterGalacticMapper(); IInputRetriever documentRetreiver = new FileReader(); InterGalacticCalculator calculator = new InterGalacticCalculator("", mapper, documentRetreiver, documentParser); var text = calculator.GetInputFromFile("..\\..\\..\\MerchantsGuideToTheGalaxy\\Resources\\input.txt"); var parsedInput = calculator.ParseInputFromFile(text); var galacticUnits = calculator.MapUnits(parsedInput); var metalToCreditsMap = calculator.MapMetalToCredits(parsedInput, galacticUnits); var value = calculator.CalculateValue(parsedInput, galacticUnits); Assert.AreEqual(true, value.Count > 0); }
public void EnsureCalculatorCanMapUnits() { IInputParser documentParser = new InputParser(); IInterGalacticMapper mapper = new InterGalacticMapper(); IInputRetriever documentRetreiver = new FileReader(); InterGalacticCalculator calculator = new InterGalacticCalculator("", mapper, documentRetreiver, documentParser); var text = calculator.GetInputFromFile("..\\..\\..\\MerchantsGuideToTheGalaxy\\Resources\\input.txt"); var parsedInput = calculator.ParseInputFromFile(text); var galacticUnits = calculator.MapUnits(parsedInput); Assert.IsNotNull(galacticUnits); Assert.AreEqual(true, galacticUnits.Count() > 0); Assert.AreEqual(true, galacticUnits.Count() == 7); }
//Location to read input from."..\\..\\..\\MerchantsGuideToTheGalaxy\\Resources\\input.txt") static void Main(string[] args) { while (true) { IInputRetriever documentRetreiver = new FileReader(); IInputParser documentParser = new InputParser(); IInterGalacticMapper mapper = new InterGalacticMapper(); InterGalacticCalculator calculator = new InterGalacticCalculator("", mapper, documentRetreiver, documentParser); Console.Write("Welcome to the InterGalactic calculator,please provide the file location with your input? "); var consoleText = Console.ReadLine(); if (consoleText == "exit") { break; } var fileInput = calculator.GetInputFromFile(consoleText); if (String.IsNullOrEmpty(fileInput)) { break; } var parsedInput = calculator.ParseInputFromFile(fileInput); var galacticUnits = calculator.MapUnits(parsedInput); var metalToCreditsMap = calculator.MapMetalToCredits(parsedInput, galacticUnits); var creditsValue = calculator.CalculateCredits(parsedInput, metalToCreditsMap, galacticUnits); var unitsValue = calculator.CalculateValue(parsedInput, galacticUnits); var outputValue = calculator.GenerateOutput(unitsValue, creditsValue); Console.WriteLine(outputValue); Console.WriteLine("\r\n"); } }
public void GenerateInterGalacticUnitMap() { IInterGalacticMapper mapper = new InterGalacticMapper(); Assert.IsInstanceOfType(mapper.GenerateInterGalacticUnitMap("glob is I"), typeof(Dictionary <string, int>)); }
public void GenerateCommonMetalToCreditMap() { IInterGalacticMapper mapper = new InterGalacticMapper(); Assert.IsInstanceOfType(mapper.GenerateCommonMetalToCreditMap("glob glob Silver is 34 Credits", mapper.GenerateInterGalacticUnitMap("glob is I")), typeof(Dictionary <string, double>)); }