using System; using NSubstitute; using NUnit.Framework; using ShareeBike.Model.Bikes.BikeInfoNS.BluetoothLock; using ShareeBike.Model.Bikes.BikeInfoNS.DriveNS; using ShareeBike.Model.Connector; using ShareeBike.Services.BluetoothLock; using ShareeBike.Services.Geolocation; using ShareeBike.ViewModel; namespace SharedBusinessLogic.Tests.Model.Bike.BluetoothLock { [TestFixture] public class TestBikeInfoMutalbe { [Test] public void TestCtor() { Assert.That( new BikeInfoMutable( Substitute.For(), Substitute.For(), () => false /* not connected */, (_) => Substitute.For(), () => Substitute.For(), new ShareeBike.Model.Bikes.BikeInfoNS.BluetoothLock.BikeInfo( new ShareeBike.Model.Bikes.BikeInfoNS.BikeNS.Bike( "MyBikeId", ShareeBike.Model.Bikes.BikeInfoNS.BikeNS.LockModel.ILockIt), new DriveMutable(), ShareeBike.Model.Bikes.BikeInfoNS.BC.DataSource.Copri, 42, new Guid(), "17"), "My Station Name").StationName, Is.EqualTo("My Station Name")); } [Test] public void TestToString() { Assert.That( new BikeInfoMutable( Substitute.For(), Substitute.For(), () => false /* not connected */, (_) => Substitute.For(), () => Substitute.For(), new ShareeBike.Model.Bikes.BikeInfoNS.BluetoothLock.BikeInfo( new ShareeBike.Model.Bikes.BikeInfoNS.BikeNS.Bike( "MyBikeId", ShareeBike.Model.Bikes.BikeInfoNS.BikeNS.LockModel.ILockIt, ShareeBike.Model.Bikes.BikeInfoNS.BikeNS.WheelType.Trike, ShareeBike.Model.Bikes.BikeInfoNS.BikeNS.TypeOfBike.Cargo), new DriveMutable(), ShareeBike.Model.Bikes.BikeInfoNS.BC.DataSource.Copri, 42, new Guid(), "17"), "My Station Name").ToString(), Is.EqualTo("Id=MyBikeId;type=Cargo;state=Disposable;Lock id=42")); } [Test] public void TestCtorBikeNull() { Assert.That( () => new BikeInfoMutable( Substitute.For(), Substitute.For(), () => false /* not connected */, (_) => Substitute.For(), () => Substitute.For(), null, "My Station Name"), Throws.ArgumentNullException); } } }