コード例 #1
0
        public void SaveLearnedData(string configDir)
        {
            var valueStore   = new ValueStore();
            var stepDefStore = new StepDefStore(valueStore);

            foreach (var stepDefRegex in _stepDefRegexes)
            {
                var paramNames = stepDefRegex.Key.GetValidNames();
                for (int paramNumber = 0; paramNumber < paramNames.Count; paramNumber++)
                {
                    var group    = new ValueStoreGroup(paramNames[paramNumber]);
                    var tmpItems = new HashSet <ValueStoreItem>(ValueStoreItem.RuValueComparer);
                    foreach (var gherkinStep in stepDefRegex.Value)
                    {
                        var item = ValueStoreItem.FromMacros(gherkinStep.Text, paramNumber);
                        if (item == default(ValueStoreItem))
                        {
                            continue;
                        }
                        if (!tmpItems.Contains(item))
                        {
                            tmpItems.Add(item);
                        }
                    }
                    group.Items.AddRange(tmpItems.ToList());
                    valueStore.AddGroup(group);
                    stepDefStore.AddStepDef(stepDefRegex.Key);
                }
            }
            valueStore.Save(ValueStoreConfigsDir, "learned");
            stepDefStore.Save(StepDefStoreConfigsDir, "learned");
        }