Example #1
0
        private void Play(string[] tokens)
        {
            string command = tokens[0];
            string output = string.Empty;
            var sb = new StringBuilder();

            switch (command)
            {
                case "Create":
                    this.listyIterator = new ListyIterator<string>(tokens.Skip(1).ToArray());
                    break;
                case "Move":
                    Console.WriteLine(this.listyIterator.Move().ToString());
                    break;
                case "Print":
                    this.listyIterator.Print();
                    break;
                case "HasNext":
                    Console.WriteLine(this.listyIterator.HasNext().ToString());
                    break;
                case "PrintAll":
                    foreach (var item in this.listyIterator)
                    {
                        Console.Write(item + " ");
                    }
                    Console.WriteLine();
                    break;
            }
        }
Example #2
0
        private void SetCurrentIndex(IListyIterator listyIterator)
        {
            FieldInfo field = typeof(ListyIterator <string>)
                              .GetFields(BindingFlags.NonPublic | BindingFlags.Instance)
                              .FirstOrDefault(f => f.FieldType == typeof(int));

            field.SetValue(listyIterator, 2);
        }
Example #3
0
        private IList <string> GetIteratorElements(IListyIterator listyIterator)
        {
            FieldInfo field = typeof(ListyIterator <string>)
                              .GetFields(BindingFlags.NonPublic | BindingFlags.Instance)
                              .FirstOrDefault(f => f.FieldType == typeof(IList <string>));
            IList <string> instanseField = (IList <string>)field.GetValue(listyIterator);

            return(instanseField);
        }
Example #4
0
        static void Main(string[] args)
        {
            IListyIterator <string> listyIterator = null;
            string input = Console.ReadLine();

            while (input != "END")
            {
                string[] tokens  = input.Split(" ", StringSplitOptions.RemoveEmptyEntries);
                string   command = tokens[0];
                try
                {
                    switch (command)
                    {
                    case "Create":
                        listyIterator = new ListyIterator <string>(tokens.Skip(1).ToList());
                        break;

                    case "HasNext":
                        Console.WriteLine(listyIterator.HasNext());
                        break;

                    case "Move":
                        Console.WriteLine(listyIterator.Move());
                        break;

                    case "Print":
                        listyIterator.Print();
                        break;
                    }
                }
                catch (InvalidOperationException ioe)
                {
                    Console.WriteLine(ioe.Message);
                }

                input = Console.ReadLine();
            }
        }