Beispiel #1
0
        static void Main(string[] args)
        {
            const string prompt = "TimeMath>";
            string       input;

            Console.WriteLine(Properties.Resources.Introduction);

            while (true)
            {
                Console.Write(prompt);
                input = Console.ReadLine();

                if (input.Contains("exit"))
                {
                    break;
                }
                else if (input.ToLower() == "examples")
                {
                    Console.WriteLine(Properties.Resources.Examples.Replace(@"\n", Environment.NewLine));
                }
                else if (input.ToLower() == "help")
                {
                    Console.WriteLine(Properties.Resources.Usage.Replace(@"\n", Environment.NewLine));
                }
                else
                {
                    string improvedInput = UIHelper.ApplyAllImprovemnets(input);
                    string response      = NaturalLanguageCalculator.Calculate(improvedInput);
                    if (response == null)
                    {
                        Console.WriteLine(UIHelper.ExplainSyntaxError(improvedInput));
                    }
                    else
                    {
                        Console.WriteLine(response);
                    }
                }
            }
        }
Beispiel #2
0
 public void NaturalLanguageCalculation()
 {
     Assert.AreEqual("January 6, 2000", NaturalLanguageCalculator.Calculate("Jan 1 2000 + 5 days"));
     Assert.AreEqual("February 20, 2000", NaturalLanguageCalculator.Calculate("Jan 1 2000 + 50 days"));
     Assert.AreEqual("28 years 10 months", NaturalLanguageCalculator.Calculate("Oct 1, 1990 - Aug 1 2019"));
 }