Example #1
0
        public static Verb GetRandomVerb()
        {
            var verbs    = Verb.AllVerbs();
            var verbType = verbs.Keys.ToList()[r.Next(verbs.Count)];

            return(Verb.GenerateVerb(verbType));
        }
Example #2
0
        public void Should_Have_Verbs()
        {
            // Assign

            // Act
            var verbs = Verb.AllVerbs();

            // Assert
            Assert.NotEmpty(verbs);
        }
Example #3
0
        public IEnumerator <object[]> GetEnumerator()
        {
            var path = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location),
                                    @"conjugationdataset.csv");
            var lines  = File.ReadAllLines(path);
            var header = true;

            foreach (var line in lines)
            {
                if (header)
                {
                    header = false;
                    continue;
                }

                var columns = line.Split(',');
                var verb    = columns[(int)Columns.Infinitive];
                var type    = Verb.AllVerbs().Where(t => t.Value == verb).Select(t => t.Key).FirstOrDefault();

                if (type != null)
                {
                    for (int i = 0; i < columns.Length; i++)
                    {
                        ConjugationOptions options;
                        Columns            col  = (Columns)i;
                        var expectedConjugation = columns[i];
                        if (!String.IsNullOrEmpty(expectedConjugation))
                        {
                            if (columnMap.TryGetValue(col, out options))
                            {
                                yield return(new object[] { type, options, expectedConjugation });
                            }
                        }
                    }
                }
                else
                {
                    //yield return new object[] {typeof(VerbNotImplemented),null,columns[0]};
                }
            }
        }