protected void SetUp()
        {
            _secondLamps = new Mock <ISecondLamps>();
            _minuteLamps = new Mock <IMinuteLamps>();
            _hourLamps   = new Mock <IHourLamps>();

            _berlicClockConverter = new BerlinClockTimeConverter(_secondLamps.Object, _minuteLamps.Object, _hourLamps.Object);
        }
        public void ConvertTime_TimeCannotBeParsed_ArgumentException()
        {
            //Arrange
            this.parser.TryParse(string.Empty, out _).ReturnsForAnyArgs(false);
            var converter = new BerlinClockTimeConverter(this.formatter, this.parser);

            //Act //Assert
            Assert.Throws <ArgumentException>(() => converter.ConvertTime(string.Empty));
            this.formatter.DidNotReceiveWithAnyArgs().Format(null);
            this.parser.ReceivedWithAnyArgs(1).TryParse(null, out _);
        }
        public void ConvertTime_TimeCanBeParsed_FormatMethodCalled()
        {
            //Arrange
            string expectedFormattedValue = "formattedValue";

            this.parser.TryParse(string.Empty, out _).ReturnsForAnyArgs(true);
            this.formatter.Format(null).ReturnsForAnyArgs(expectedFormattedValue);
            var converter = new BerlinClockTimeConverter(this.formatter, this.parser);

            //Act
            var formattedValue = converter.ConvertTime(null);

            //Assert
            Assert.AreEqual(expectedFormattedValue, formattedValue);
            this.parser.ReceivedWithAnyArgs(1).TryParse(null, out _);
            this.formatter.ReceivedWithAnyArgs(1).Format(null);
        }
 public void SetUp()
 {
     this._berlinClockTimeConverter = new BerlinClockTimeConverter();
 }