public void Should_OnlyRealeaseBike_IfOneAvailableInTheSpace()
        {
            var dockingStation = new DockingStation(1);
            var bike           = new Bike();

            dockingStation.Dock(bike, 0);
            dockingStation.ReleaseBike(0);

            Assert.Throws <Exception>(() => dockingStation.ReleaseBike(0));
        }
        public void Should_BeAbleTo_ReleaseBike()
        {
            var dockingStation = new DockingStation(1);
            var bike           = new Bike();

            dockingStation.Dock(bike, 0);

            Assert.That(dockingStation.ReleaseBike(0), Is.Not.Null);
        }
        public void Should_LogBike_ReleaseTime()
        {
            var bike           = new Bike();
            var dockingStation = new DockingStation(1);

            dockingStation.Dock(bike, 0);
            dockingStation.ReleaseBike(0);

            Assert.That(dockingStation.BikeLogItem.ReleaseTime, Is.EqualTo(DateTime.Now.ToString("HH:mm")));
        }
        public void Should_ReleaseTheSameBikeWhichOccupiesTheSpace()
        {
            var dockingStation = new DockingStation(1);
            var bike           = new Bike();

            dockingStation.Dock(bike, 0);
            var bike2 = dockingStation.ReleaseBike(0);

            Assert.That(bike, Is.EqualTo(bike2));
        }
        public void Should_OnlyRealeaseBike_IfOneExistsInDockingStation()
        {
            var dockingStation = new DockingStation(0);

            Assert.Throws <Exception>(() => dockingStation.ReleaseBike(1));
        }