using System; using System.Collections.Generic; using NSubstitute; using NUnit.Framework; using TINK.Model.Bikes.BikeInfoNS; using TINK.Model.Bikes.BikeInfoNS.BikeNS; using TINK.Model.State; using IBikeInfo = TINK.Model.Bikes.BikeInfoNS.BC.IBikeInfo; namespace TestTINKLib.Fixtures.ObjectTests.Bike { [TestFixture] public class TestBikeInfoMutable { private class BikeInfoMutable : TINK.Model.Bikes.BikeInfoNS.BC.BikeInfoMutable { public BikeInfoMutable( string id, LockModel lockModel, bool isDemo = false, IEnumerable group = null, WheelType? wheelType = null, TypeOfBike? typeOfBike = null, AaRideType? aaRideType = null, string description = null, string stationId = null, string stationName = null, Uri operatorUri = null, RentalDescription tariffDescription = null, Func dateTimeProvider = null, IStateInfo stateInfo = null) : base( new TINK.Model.Bikes.BikeInfoNS.BikeNS.Bike(id, lockModel, wheelType, typeOfBike, aaRideType, description), new TINK.Model.Bikes.BikeInfoNS.DriveNS.Drive(), TINK.Model.Bikes.BikeInfoNS.BC.DataSource.Copri, isDemo, group, stationId, stationName, operatorUri, tariffDescription, dateTimeProvider, stateInfo) { } } [Test] public void TestConstruct() { var l_oBikeInfo = new BikeInfoMutable("17", LockModel.ILockIt); Assert.AreEqual("17", l_oBikeInfo.Id); Assert.IsNull(l_oBikeInfo.StationId); Assert.AreEqual(InUseStateEnum.Disposable, l_oBikeInfo.State.Value); Assert.AreEqual(null, l_oBikeInfo.WheelType); Assert.AreEqual(null, l_oBikeInfo.TypeOfBike); l_oBikeInfo = new BikeInfoMutable("22", LockModel.ILockIt, false, new List { "TINK" }, WheelType.Trike, TypeOfBike.Cargo, AaRideType.NoAaRide, "Test description", "23"); Assert.AreEqual("22", l_oBikeInfo.Id); Assert.IsFalse(l_oBikeInfo.IsDemo); Assert.AreEqual("23", l_oBikeInfo.StationId); Assert.AreEqual(InUseStateEnum.Disposable, l_oBikeInfo.State.Value); Assert.AreEqual(WheelType.Trike, l_oBikeInfo.WheelType); Assert.AreEqual(TypeOfBike.Cargo, l_oBikeInfo.TypeOfBike); } } }