コード例 #1
0
        public TimeConverter(ITimeParser timeParser, TimeValidator timeValidator)
        {
            _timeParser    = timeParser;
            _timeValidator = timeValidator;

            _lightParsers = new ITimePartParser[]
            {
                new TimePartParser(new List <string>
                {
                    LampState.Yellow
                }, time => time.Seconds % 2 == 0 ? 1 : 0),
                new TimePartParser(new List <string>
                {
                    LampState.Red, LampState.Red, LampState.Red, LampState.Red
                }, time => time.Hours / 5),
                new TimePartParser(new List <string>
                {
                    LampState.Red, LampState.Red, LampState.Red, LampState.Red
                }, time => time.Hours % 5),
                new TimePartParser(new List <string>
                {
                    LampState.Yellow, LampState.Yellow, LampState.Red,
                    LampState.Yellow, LampState.Yellow, LampState.Red,
                    LampState.Yellow, LampState.Yellow, LampState.Red,
                    LampState.Yellow, LampState.Yellow
                }, time => time.Minutes / 5),
                new TimePartParser(new List <string>
                {
                    LampState.Yellow, LampState.Yellow, LampState.Yellow, LampState.Yellow
                }, time => time.Minutes % 5)
            };
        }
コード例 #2
0
        public void TimeParserTest()
        {
            parser = new TimeParser24H();

            string input = "24:00:00";

            TimeSpan expected = new TimeSpan(1, 0, 0, 0);

            Assert.AreEqual(expected, parser.ParseStringToTimeSpan(input));

            input    = "23:59:59";
            expected = new TimeSpan(0, 23, 59, 59);

            Assert.AreEqual(expected, parser.ParseStringToTimeSpan(input));

            input    = "00:00:00";
            expected = new TimeSpan(0, 0, 0, 0);

            Assert.AreEqual(expected, parser.ParseStringToTimeSpan(input));


            input    = "13:17:01";
            expected = new TimeSpan(0, 13, 17, 1);

            Assert.AreEqual(expected, parser.ParseStringToTimeSpan(input));
        }
コード例 #3
0
 public TimeConverter()
 {
     // This constructor should not exist always use DI
     // added to avoid change the feature steps
     timeParser  = new TimeParser();
     clockParser = new BerlinClockParser();
 }
コード例 #4
0
 public ClockBuilder(ITimeParser timeParser)
 {
     if (timeParser == null)
     {
         throw new ArgumentNullException(nameof(timeParser), IncorrectParserErrorMessage);
     }
     this._timeParser = timeParser;
 }
コード例 #5
0
 public ToModelConverter(ITimeParser timeParser, IHeaderConverter headerConverter,
                         IHourConverter hourConverter, IMinuteConverter minuteConverter)
 {
     _timeParser      = timeParser;
     _headerConverter = headerConverter;
     _hourConverter   = hourConverter;
     _minuteConverter = minuteConverter;
 }
コード例 #6
0
 public JogoParser(ILogger <JogoParser> logger,
                   IArbitroParser arbitroParser,
                   IGolParser golParser,
                   ITimeParser timeParser)
 {
     this.logger        = logger;
     this.arbitroParser = arbitroParser;
     this.timeParser    = timeParser;
 }
コード例 #7
0
        public void RunApplication(ITimeParser parser, IScreenGenerator generator, IFaceDigitGenerator faceGenerator)
        {
            Console.WriteLine("GenieClock By Brent Edwards");
            Console.WriteLine("Enter x to exit");
            bool keepGoing = true;

            while (keepGoing == true)
            {
                Console.WriteLine("\n");
                Console.WriteLine("Enter a time in 24 hour format hh:mm");
                Console.Write("> ");
                var enteredTime = Console.ReadLine();
                Console.WriteLine("\n");

                if (enteredTime == "x")
                {
                    keepGoing = false;
                }
                else
                {
                    try
                    {
                        Tuple <int, int> timeValues = null;
                        try
                        {
                            timeValues = parser.Parse(enteredTime);
                        }
                        catch
                        {
                            Console.WriteLine("Invalid Input. Please use hh:mm");
                        }

                        if (timeValues != null)
                        {
                            var points = faceGenerator.Generate(timeValues.Item1, timeValues.Item2);
                            var screen = generator.Generate(points);
                            var rows   = screen.GetLongLength(0);
                            var cols   = screen.GetLongLength(1);
                            for (var row = 0; row < rows; row++)
                            {
                                for (var col = 0; col < cols; col++)
                                {
                                    Console.Write(screen[row, col]);
                                }
                                Console.WriteLine("");
                            }
                        }
                    }
                    catch
                    {
                        Console.WriteLine("Error Processing Clock");
                    }
                }
            }
        }
コード例 #8
0
 public TimeConverter(
     ITimeParser timeParser,
     IPartialConverter secondsConverter,
     IPartialConverter minutesConverter,
     IPartialConverter hourssConverter)
 {
     _timeParser       = timeParser;
     _secondsConverter = secondsConverter;
     _minutesConverter = minutesConverter;
     _hoursConverter   = hourssConverter;
 }
コード例 #9
0
        public void TimeParserTestRandom()
        {
            parser = new TimeParser24H();
            var date = DateTime.Now;

            string input = date.ToString("HH:mm:ss", CultureInfo.InvariantCulture);;

            TimeSpan expected = new TimeSpan(0, date.Hour, date.Minute, date.Second);

            Assert.AreEqual(expected, parser.ParseStringToTimeSpan(input));
        }
コード例 #10
0
 public TimeConverter()
 {
     this.timeParser = new TimeParser();
     this.builders   = new ILampRowDrawer[]
     {
         new LampRowBuilder().WithMaximumValue(2).WithYellowOnCharacter().WithValue(time => (time.Seconds + 1) % 2).Build(),
         new LampRowBuilder().WithMaximumValue(24).WithIncrement(5).WithRedOnCharacter().WithValue(time => time.Hours).Build(),
         new LampRowBuilder().WithMaximumValue(5).WithRedOnCharacter().WithValue(time => time.Hours % 5).Build(),
         new LampRowBuilder().WithMaximumValue(60).WithIncrement(5).WithCustomOnCharacter(val => val % 15 == 10 ? 'R' : 'Y').WithValue(time => time.Minutes).Build(),
         new LampRowBuilder().WithMaximumValue(5).WithYellowOnCharacter().WithValue(time => time.Minutes % 5).Build(),
     };
 }
コード例 #11
0
 public void Setup()
 {
     formatter = Substitute.For <ITimeFormatter>();
     parser    = Substitute.For <ITimeParser>();
 }
コード例 #12
0
 public TimeConverter(ITimeParser timeParser)
 {
     this.TimeParser = timeParser;
 }
コード例 #13
0
 public TalkingClockService(ITimeParser timeParser, ITimeMapper timeMapper)
 {
     _timeParser = timeParser;
     _timeMapper = timeMapper;
 }
コード例 #14
0
 public TimeConverter(IBerlinClockEntityBuilder berlinClockEntityBuilder, ITimeParser timeParser)
 {
     _berlinClockEntityBuilder = berlinClockEntityBuilder;
     _timeParser = timeParser;
 }
コード例 #15
0
 public void Initialize()
 {
     _parser = new TimeParser();
 }
コード例 #16
0
 public BerlinClockTimeConverter(ITimeFormatter timeFormatter, ITimeParser timeParser)
 {
     this.timeFormatter = timeFormatter;
     this.timeParser    = timeParser;
 }
コード例 #17
0
 public TheBerlinClockSteps()
 {
     timeParser        = new TimeParser(new TimeValidator());
     consoleSerializer = new ClockConsoleSerializer();
     berlinClock       = new TimeConverter(timeParser, consoleSerializer);
 }
コード例 #18
0
ファイル: TimeFileWriter.cs プロジェクト: anupdg/timeseries
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="timeParser">Implementation of ITimeParser</param>
 public TimeFileWriter(ITimeParser timeParser)
 {
     _timeParser = timeParser;
 }
コード例 #19
0
 public TimeConverter(ITimeParser timeParser,
                      IClockParser clockParser)
 {
     this.timeParser  = timeParser;
     this.clockParser = clockParser;
 }
コード例 #20
0
 public TimeConverter()
 {
     _timeParser   = new TimeParser();
     _colourMapper = new DefaultColourMapper();
 }
コード例 #21
0
 public TimeParserTest()
 {
     timeParser = new TimeParser();
 }
コード例 #22
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="timeParser"></param>
 public LineParser(ITimeParser timeParser)
 {
     _timeParser = timeParser;
 }
コード例 #23
0
 public BerlinClockTimeConverter(ITimeParser timeParser, Clock.BerlinClock clock, IBerlinClockOutputFormatter outputFormatter)
 {
     _timeParser      = timeParser;
     _clock           = clock;
     _outputFormatter = outputFormatter;
 }
コード例 #24
0
 public TimeConverter(ITimeParser timeParser, IBerlinClockBuilder berlinClockBuilder)
 {
     this.timeParser         = timeParser;
     this.berlinClockBuilder = berlinClockBuilder;
 }
コード例 #25
0
 public TimeConverter(ITimeParser timeParser, IClockRenderer clockRenderer)
 {
     _timeParser = timeParser;
     _clockRenderer = clockRenderer;
 }
コード例 #26
0
 public void SetUp()
 {
     parser = new TimeParser();
 }
コード例 #27
0
 public void Setup()
 {
     _timeParser = new TimeParser();
 }
コード例 #28
0
 public TimeConverter(ITimeParser timeParser, IClockConsoleSerializer consoleSerializer)
 {
     this.timeParser        = timeParser ?? throw new ArgumentNullException(nameof(timeParser));
     this.consoleSerializer = consoleSerializer ?? throw new ArgumentNullException(nameof(consoleSerializer));
 }
コード例 #29
0
 public TimeConverter()
 {
     this.clockBuilder = new ClockBuilder();
     this.timeParser   = new TimeParser();
 }
コード例 #30
0
 public TimeTransformingFactory(ITimeParser <TTimeIn, TTimeTarget> timeParser, ITimeDecorator <TTimeTarget, TTimeOut> timeDecorator)
 {
     _timeParser    = timeParser;
     _timeDecorator = timeDecorator;
 }
コード例 #31
0
 // using constructor parameters allows us to configure it in IoC container and test it easily
 public TimeConverter(IEnumerable <ITimePartConverter> converters, ITimeParser timeParser, string separator)
 {
     this.converters = converters;
     this.timeParser = timeParser;
     this.separator  = separator;
 }