using System; using NSubstitute; using NUnit.Framework; using ShareeBike.Model.Device; using ShareeBike.ViewModel; using ShareeBike.ViewModel.Bikes; namespace UITest.Fixtures.ViewModel { [TestFixture] public class TestMyBikesPageViewModel { /// /// Tests base class functionality by using child. /// [Test] public void TestStateText_LoggedIn_Reserved() { var l_oViewModel = TestBikeViewModel.TestStateText_LoggedIn_Reserved( (bike, user) => new ShareeBike.ViewModel.Bikes.Bike.BC.BikeViewModel( null, null, null, null, Substitute.For(), null, bike, user, new MyBikeInUseStateInfoProvider(), Substitute.For(), url => { })); Assert.That(l_oViewModel.StateText, Is.EqualTo("Location Station 3, still 15 min. reserved.")); } /// /// Tests base class functionality by using child. /// [Test] public void TestStateText_LoggedIn_ReservedWithCopriConnect() { var l_oViewModel = TestBikeViewModel.TestStateText_LoggedIn_ReservedWithCopriConnect( (bike, user) => new ShareeBike.ViewModel.Bikes.Bike.BC.BikeViewModel( null, null, null, null, Substitute.For(), null, bike, user, new MyBikeInUseStateInfoProvider(), Substitute.For(), url => { })); Assert.That(l_oViewModel.StateText, Is.EqualTo("Code 4asdfA, location Station 3, still 7 min. reserved.")); } /// /// Tests base class functionality by using child. /// /// [Test] public void TestStateText_LoggedIn_Booked() { var l_oViewModel = TestBikeViewModel.TestStateText_LoggedIn_Booked( (bike, user) => new ShareeBike.ViewModel.Bikes.Bike.BC.BikeViewModel( null, null, null, null, Substitute.For(), null, bike, user, new MyBikeInUseStateInfoProvider(), Substitute.For(), url => { })); Assert.That( l_oViewModel.StateText, Is.EqualTo($"Code 4asdfA, location Station 3, rented since {new DateTime(2018, 10, 24, 21, 49, 00).ToString("dd. MMMM HH:mm")}.")); } } }