From e8fdec6378a4a25e501bd9d2aae756a629910ebd Mon Sep 17 00:00:00 2001 From: rwiktorek Date: Tue, 5 May 2020 00:35:38 +0200 Subject: [PATCH 1/4] full solution TODO: add unit tests --- BDD/BerlinClockFeatureSteps.cs | 13 +++--- BerlinClock.csproj | 16 ++++++- Builders/BerlinClockEntityBuilder.cs | 42 ++++++++++++++++++ Builders/BerlinClockRowsBuilderBase.cs | 59 ++++++++++++++++++++++++++ Builders/HourRowsBuilder.cs | 31 ++++++++++++++ Builders/MinuteRowsBuilder.cs | 42 ++++++++++++++++++ Classes/ITimeConverter.cs | 12 ------ Classes/TimeConverter.cs | 15 ------- Converters/TimeConverter.cs | 34 +++++++++++++++ Extensions/IntExtensions.cs | 7 +++ Extensions/StringExtensions.cs | 16 +++++++ Models/BerlinClockEntity.cs | 20 +++++++++ Models/BerlinClockRendererRequest.cs | 12 ++++++ Models/BerlinClockRows.cs | 8 ++++ Models/Time.cs | 15 +++++++ Parsers/TimeParser.cs | 26 ++++++++++++ Renderers/BerlinClockRowRenderer.cs | 26 ++++++++++++ 17 files changed, 358 insertions(+), 36 deletions(-) create mode 100644 Builders/BerlinClockEntityBuilder.cs create mode 100644 Builders/BerlinClockRowsBuilderBase.cs create mode 100644 Builders/HourRowsBuilder.cs create mode 100644 Builders/MinuteRowsBuilder.cs delete mode 100644 Classes/ITimeConverter.cs delete mode 100644 Classes/TimeConverter.cs create mode 100644 Converters/TimeConverter.cs create mode 100644 Extensions/IntExtensions.cs create mode 100644 Extensions/StringExtensions.cs create mode 100644 Models/BerlinClockEntity.cs create mode 100644 Models/BerlinClockRendererRequest.cs create mode 100644 Models/BerlinClockRows.cs create mode 100644 Models/Time.cs create mode 100644 Parsers/TimeParser.cs create mode 100644 Renderers/BerlinClockRowRenderer.cs diff --git a/BDD/BerlinClockFeatureSteps.cs b/BDD/BerlinClockFeatureSteps.cs index 4390f3cb..f8cd7bf1 100644 --- a/BDD/BerlinClockFeatureSteps.cs +++ b/BDD/BerlinClockFeatureSteps.cs @@ -1,27 +1,26 @@ -using System; -using TechTalk.SpecFlow; +using TechTalk.SpecFlow; using Microsoft.VisualStudio.TestTools.UnitTesting; -using System.Linq; +using BerlinClock.Converters; namespace BerlinClock { [Binding] public class TheBerlinClockSteps { - private ITimeConverter berlinClock = new TimeConverter(); - private String theTime; + private readonly ITimeConverter _berlinClock = new TimeConverter(); + private string _theTime; [When(@"the time is ""(.*)""")] public void WhenTheTimeIs(string time) { - theTime = time; + _theTime = time; } [Then(@"the clock should look like")] public void ThenTheClockShouldLookLike(string theExpectedBerlinClockOutput) { - Assert.AreEqual(berlinClock.convertTime(theTime), theExpectedBerlinClockOutput); + Assert.AreEqual(_berlinClock.ConvertTime(_theTime), theExpectedBerlinClockOutput); } } diff --git a/BerlinClock.csproj b/BerlinClock.csproj index ac8af99d..514b738f 100644 --- a/BerlinClock.csproj +++ b/BerlinClock.csproj @@ -50,14 +50,25 @@ + + + + + + + + + + + True True BerlinClockFeatureSteps.feature - - + + @@ -70,6 +81,7 @@ +