public void TestLongestWordStartingWintABC() { CounterEngine engine = new CounterEngine(inputString); List <string> searchInput = new List <string>(); searchInput.Add("b|B|o|O|r|R"); var result = engine.Process(CounterRules.longest_word_starting_with_abc, searchInput); Assert.AreEqual(result, 5); // }
public void TestCountOfSequenceOfWordStartingWithNAndA() { CounterEngine engine = new CounterEngine(inputString); List <string> searchInput = new List <string>(); searchInput.Add("B"); searchInput.Add("f"); var result = engine.Process(CounterRules.count_of_sequence_of_words_starting_with_c_and_a, searchInput); Assert.AreEqual(result, 1); // }
public void TestAverageLengthOfWordStartingWith_N_returnsZero() { CounterEngine engine = new CounterEngine(inputString); List <string> searchInput = new List <string>(); searchInput.Add("x|X|T|M"); // char | donates the or condition it will look for work starts with t or T //testing the rule 1. var result = engine.Process(CounterRules.average_length_of_words_starting_with, searchInput); Assert.AreEqual(result, 0); // }
public void TestCountOfNInWordsStartsWithT_returnsZero() { CounterEngine engine = new CounterEngine(inputString); List <string> searchInput = new List <string>(); searchInput.Add("j"); searchInput.Add("a"); var result = engine.Process(CounterRules.count_of_n_in_words_starting_with_x, searchInput); Assert.AreEqual(result, 0); // }
public static void Start(string s) { CounterEngine engine = new CounterEngine(s); Array AllRules = Enum.GetValues(enumType: typeof(CounterRules)); RuleOutput ouptutFile = new RuleOutput(); // string[] Rules = AllRules.Split('|'); Console.WriteLine("You can skip rule by entering -1 for input."); foreach (var rule in AllRules) { List <string> listOfInputs = new List <string>(); System.Diagnostics.Debug.Print(rule.ToString()); var operation = (CounterRules)Enum.Parse(typeof(CounterRules), Convert.ToString(rule)); var description = engine.GetRuleDescription(operation); Console.WriteLine(description); var pattern = @"{(.*?)}"; var matches = Regex.Matches(description, pattern); foreach (var input in matches) { string regExInput = CheckInput(Console.ReadLine()); if (regExInput.Equals(string.Empty)) { break; } listOfInputs.Add(regExInput); } if (listOfInputs.Count > 0) { var outputResult = engine.Process(operation, listOfInputs); string fileName = System.Environment.CurrentDirectory.ToString(); fileName = fileName + "\\" + ouptutFile.GetOutputFileName(operation); fileName = string.Format(fileName, listOfInputs.FirstOrDefault().Replace("|", ""), (listOfInputs.Count > 1)? listOfInputs.Skip(1).First().Replace("|", ""):""); OutputWriter.WriteToFile(outputResult, fileName); } } }