Version 3.0.312.

This commit is contained in:
Oliver Hauff 2022-06-17 14:17:58 +02:00
parent 310ea37085
commit fd0e63cf10
94 changed files with 3189 additions and 6352 deletions

View file

@ -663,7 +663,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
// Verify state "Booked closed" after action
Assert.AreEqual("Return bike", subsequent.ButtonText);
Assert.IsTrue(subsequent.IsButtonVisible);
Assert.AreEqual("Open lock & continue renting", subsequent.LockitButtonText);
Assert.AreEqual("Open lock", subsequent.LockitButtonText);
Assert.IsTrue(subsequent.IsLockitButtonVisible);
}
@ -740,7 +740,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
// Verify state "Booked closed" after action
Assert.AreEqual("Return bike", subsequent.ButtonText);
Assert.IsTrue(subsequent.IsButtonVisible);
Assert.AreEqual("Open lock & continue renting", subsequent.LockitButtonText);
Assert.AreEqual("Open lock", subsequent.LockitButtonText);
Assert.IsTrue(subsequent.IsLockitButtonVisible);
}
@ -813,7 +813,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
// Verify state "Booked closed" after action
Assert.AreEqual("Return bike", subsequent.ButtonText);
Assert.IsTrue(subsequent.IsButtonVisible);
Assert.AreEqual("Open lock & continue renting", subsequent.LockitButtonText);
Assert.AreEqual("Open lock", subsequent.LockitButtonText);
Assert.IsTrue(subsequent.IsLockitButtonVisible);
}
@ -889,7 +889,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
// Verify state "Booked closed" after action
Assert.AreEqual("Return bike", subsequent.ButtonText);
Assert.IsTrue(subsequent.IsButtonVisible);
Assert.AreEqual("Open lock & continue renting", subsequent.LockitButtonText);
Assert.AreEqual("Open lock", subsequent.LockitButtonText);
Assert.IsTrue(subsequent.IsLockitButtonVisible);
}
@ -965,7 +965,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
// Verify state "Booked closed" after action
Assert.AreEqual("Return bike", subsequent.ButtonText);
Assert.IsTrue(subsequent.IsButtonVisible);
Assert.AreEqual("Open lock & continue renting", subsequent.LockitButtonText);
Assert.AreEqual("Open lock", subsequent.LockitButtonText);
Assert.IsTrue(subsequent.IsLockitButtonVisible);
}
@ -1039,7 +1039,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
// Verify state "Booked closed" after action
Assert.AreEqual("Return bike", subsequent.ButtonText);
Assert.IsTrue(subsequent.IsButtonVisible);
Assert.AreEqual("Open lock & continue renting", subsequent.LockitButtonText);
Assert.AreEqual("Open lock", subsequent.LockitButtonText);
Assert.IsTrue(subsequent.IsLockitButtonVisible);
}
@ -1098,7 +1098,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
// Verify state "Booked Closed" after action
Assert.AreEqual("Return bike", subsequent.ButtonText);
Assert.IsTrue(subsequent.IsButtonVisible);
Assert.AreEqual("Open lock & continue renting", subsequent.LockitButtonText);
Assert.AreEqual("Open lock", subsequent.LockitButtonText);
Assert.IsTrue(subsequent.IsLockitButtonVisible);
}
@ -1280,7 +1280,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
// Verify state "Booked Closed" after action
Assert.AreEqual("Return bike", subsequent.ButtonText);
Assert.IsTrue(subsequent.IsButtonVisible);
Assert.AreEqual("Open lock & continue renting", subsequent.LockitButtonText);
Assert.AreEqual("Open lock", subsequent.LockitButtonText);
Assert.IsTrue(subsequent.IsLockitButtonVisible);
}
@ -1342,7 +1342,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
// Verify state "Booked Closed" after action
Assert.AreEqual("Return bike", subsequent.ButtonText);
Assert.IsTrue(subsequent.IsButtonVisible);
Assert.AreEqual("Open lock & continue renting", subsequent.LockitButtonText);
Assert.AreEqual("Open lock", subsequent.LockitButtonText);
Assert.IsTrue(subsequent.IsLockitButtonVisible);
}
@ -1405,7 +1405,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
// Verify state "Booked Closed" after action
Assert.AreEqual("Return bike", subsequent.ButtonText);
Assert.IsTrue(subsequent.IsButtonVisible);
Assert.AreEqual("Open lock & continue renting", subsequent.LockitButtonText);
Assert.AreEqual("Open lock", subsequent.LockitButtonText);
Assert.IsTrue(subsequent.IsLockitButtonVisible);
}
}

View file

@ -46,7 +46,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
Substitute.For<IUser>());
// Verify prerequisites.
Assert.AreEqual("Open lock & continue renting", handler.ButtonText);
Assert.AreEqual("Open lock", handler.ButtonText);
Assert.IsTrue(handler.IsButtonVisible);
Assert.AreEqual("Close lock", handler.LockitButtonText);
Assert.IsTrue(handler.IsLockitButtonVisible);
@ -227,7 +227,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
});
// Verify state "Booked Unknown" after action
Assert.AreEqual("Open lock & continue renting", subsequent.ButtonText);
Assert.AreEqual("Open lock", subsequent.ButtonText);
Assert.IsTrue(subsequent.IsButtonVisible);
Assert.AreEqual("Close lock", subsequent.LockitButtonText);
Assert.IsTrue(subsequent.IsLockitButtonVisible);
@ -289,7 +289,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
// Verify state "Booked Closed" after action
Assert.AreEqual("Return bike", subsequent.ButtonText);
Assert.IsTrue(subsequent.IsButtonVisible);
Assert.AreEqual("Open lock & continue renting", subsequent.LockitButtonText);
Assert.AreEqual("Open lock", subsequent.LockitButtonText);
Assert.IsTrue(subsequent.IsLockitButtonVisible);
}
@ -347,7 +347,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
});
// Verify state "Booked Disconnected" after action
Assert.AreEqual("Open lock & continue renting", subsequent.ButtonText);
Assert.AreEqual("Open lock", subsequent.ButtonText);
Assert.IsTrue(subsequent.IsButtonVisible);
Assert.AreEqual("Close lock", subsequent.LockitButtonText);
Assert.IsTrue(subsequent.IsLockitButtonVisible);
@ -793,7 +793,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
// Verify state "Booked Closed" after action
Assert.AreEqual("Return bike", subsequent.ButtonText);
Assert.IsTrue(subsequent.IsButtonVisible);
Assert.AreEqual("Open lock & continue renting", subsequent.LockitButtonText);
Assert.AreEqual("Open lock", subsequent.LockitButtonText);
Assert.IsTrue(subsequent.IsLockitButtonVisible);
}
@ -975,7 +975,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
// Verify state "Booked Closed" after action
Assert.AreEqual("Return bike", subsequent.ButtonText);
Assert.IsTrue(subsequent.IsButtonVisible);
Assert.AreEqual("Open lock & continue renting", subsequent.LockitButtonText);
Assert.AreEqual("Open lock", subsequent.LockitButtonText);
Assert.IsTrue(subsequent.IsLockitButtonVisible);
}
@ -1037,7 +1037,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
// Verify state "Booked Closed" after action
Assert.AreEqual("Return bike", subsequent.ButtonText);
Assert.IsTrue(subsequent.IsButtonVisible);
Assert.AreEqual("Open lock & continue renting", subsequent.LockitButtonText);
Assert.AreEqual("Open lock", subsequent.LockitButtonText);
Assert.IsTrue(subsequent.IsLockitButtonVisible);
}
@ -1100,7 +1100,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
// Verify state "Booked Closed" after action
Assert.AreEqual("Return bike", subsequent.ButtonText);
Assert.IsTrue(subsequent.IsButtonVisible);
Assert.AreEqual("Open lock & continue renting", subsequent.LockitButtonText);
Assert.AreEqual("Open lock", subsequent.LockitButtonText);
Assert.IsTrue(subsequent.IsLockitButtonVisible);
}
}

View file

@ -229,7 +229,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
});
// Verify state "Booked Unknown" after action
Assert.AreEqual("Open lock & continue renting", subsequent.ButtonText);
Assert.AreEqual("Open lock", subsequent.ButtonText);
Assert.IsTrue(subsequent.IsButtonVisible);
Assert.AreEqual("Close lock", subsequent.LockitButtonText);
Assert.IsTrue(subsequent.IsLockitButtonVisible);
@ -291,7 +291,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
// Verify state "Booked Closed" after action
Assert.AreEqual("Return bike", subsequent.ButtonText);
Assert.IsTrue(subsequent.IsButtonVisible);
Assert.AreEqual("Open lock & continue renting", subsequent.LockitButtonText);
Assert.AreEqual("Open lock", subsequent.LockitButtonText);
Assert.IsTrue(subsequent.IsLockitButtonVisible);
}
@ -349,7 +349,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
});
// Verify state "Booked Disconnected" after action
Assert.AreEqual("Open lock & continue renting", subsequent.ButtonText);
Assert.AreEqual("Open lock", subsequent.ButtonText);
Assert.IsTrue(subsequent.IsButtonVisible);
Assert.AreEqual("Close lock", subsequent.LockitButtonText);
Assert.IsTrue(subsequent.IsLockitButtonVisible);
@ -666,7 +666,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
// Verify state "Booked Closed" after action
Assert.AreEqual("Return bike", subsequent.ButtonText);
Assert.IsTrue(subsequent.IsButtonVisible);
Assert.AreEqual("Open lock & continue renting", subsequent.LockitButtonText);
Assert.AreEqual("Open lock", subsequent.LockitButtonText);
Assert.IsTrue(subsequent.IsLockitButtonVisible);
}
@ -845,7 +845,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
// Verify state "Booked Closed" after action
Assert.AreEqual("Return bike", subsequent.ButtonText);
Assert.IsTrue(subsequent.IsButtonVisible);
Assert.AreEqual("Open lock & continue renting", subsequent.LockitButtonText);
Assert.AreEqual("Open lock", subsequent.LockitButtonText);
Assert.IsTrue(subsequent.IsLockitButtonVisible);
}
@ -907,7 +907,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
// Verify state "Booked Closed" after action
Assert.AreEqual("Return bike", subsequent.ButtonText);
Assert.IsTrue(subsequent.IsButtonVisible);
Assert.AreEqual("Open lock & continue renting", subsequent.LockitButtonText);
Assert.AreEqual("Open lock", subsequent.LockitButtonText);
Assert.IsTrue(subsequent.IsLockitButtonVisible);
}
@ -970,7 +970,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
// Verify state "Booked Closed" after action
Assert.AreEqual("Return bike", subsequent.ButtonText);
Assert.IsTrue(subsequent.IsButtonVisible);
Assert.AreEqual("Open lock & continue renting", subsequent.LockitButtonText);
Assert.AreEqual("Open lock", subsequent.LockitButtonText);
Assert.IsTrue(subsequent.IsLockitButtonVisible);
}
}

View file

@ -0,0 +1,80 @@
using NUnit.Framework;
using TINK.Model.Bikes.Bike;
using TINK.ViewModel.Bikes.Bike;
namespace TestShareeLib.ViewModel.Bikes.Bike
{
[TestFixture]
public class TestTariffDescriptionViewModel
{
[Test]
public void TestCtor()
{
var model = new RentalDescription
{
Name = "Fancy Tarif",
Id = 47,
TariffEntries = new System.Collections.Generic.Dictionary<string, RentalDescription.TariffElement>
{
{ "23", new RentalDescription.TariffElement { Value = "Max Gebühr", Description = "9.00 € / Tag"} },
{ "24", new RentalDescription.TariffElement { Value = "Gratis Mietzeit", Description = "30 Min / Tag"} },
},
InfoEntries = new System.Collections.Generic.Dictionary<string, RentalDescription.InfoElement>
{
{ "15", new RentalDescription.InfoElement { Key = "Tracking", Value = "Ich stimme der Speicherung (Tracking) meiner Fahrstrecke zwecks wissenschaftlicher Auswertung und Berechnung der CO2-Einsparung zu!" } },
{ "22", new RentalDescription.InfoElement { Key = "AGB", Value ="Mit der Mietrad Anmietung wird folgender Betreiber <a href='$varenv->{wwwhost}/site/agb.html' target='_blank'>AGB</a> zugestimmt"} }
}
};
var viewModel = new TariffDescriptionViewModel(model);
Assert.That(
viewModel.Name,
Is.EqualTo("Fancy Tarif"));
Assert.That(
viewModel.TariffEntries.Count,
Is.EqualTo(2));
Assert.That(
viewModel.InfoEntries.Count,
Is.EqualTo(1));
Assert.That(
viewModel.OperatorAgb,
Is.EqualTo("Mit der Mietrad Anmietung wird folgender Betreiber <a href='$varenv->{wwwhost}/site/agb.html' target='_blank'>AGB</a> zugestimmt"));
Assert.That(
viewModel.TarifEntry1.Value,
Is.EqualTo("Max Gebühr"));
Assert.That(
viewModel.TarifEntry1.Description,
Is.EqualTo("9.00 € / Tag"));
Assert.That(
viewModel.TarifEntry2.Value,
Is.EqualTo("Gratis Mietzeit"));
Assert.That(
viewModel.TarifEntry2.Description,
Is.EqualTo("30 Min / Tag"));
Assert.That(
viewModel.TarifEntry3.Value,
Is.Empty);
Assert.That(
viewModel.TarifEntry3.Description,
Is.Empty);
Assert.That(
viewModel.InfoEntry1,
Is.EqualTo("Ich stimme der Speicherung (Tracking) meiner Fahrstrecke zwecks wissenschaftlicher Auswertung und Berechnung der CO2-Einsparung zu!"));
Assert.That(
viewModel.InfoEntry2,
Is.Empty);
}
}
}

View file

@ -290,7 +290,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
Assert.AreEqual("Available.", bike1315.StateText);
Assert.AreEqual("Available.", bike1543.StateText);
Assert.AreEqual("Close lock", bike1545.LockitButtonText);
Assert.AreEqual("Open lock & continue renting", bike1537.LockitButtonText);
Assert.AreEqual("Open lock", bike1537.LockitButtonText);
Assert.AreEqual("DisposableDisconnected", bike1315.LockitButtonText);
Assert.AreEqual("DisposableDisconnected", bike1543.LockitButtonText);

View file

@ -0,0 +1,46 @@
using NUnit.Framework;
using System.Threading.Tasks;
using TINK.ViewModel;
using TINK.Settings;
namespace UITest.Fixtures.ObjectTests
{
[TestFixture]
public class TestPollingTaskManager
{
[Test]
public async Task TestStopUpdatePeriodiallyRepeated()
{
var l_oManger = new PollingUpdateTaskManager(() => Task.Delay(1000));
await l_oManger.StartUpdateAyncPeridically(new PollingParameters(new System.TimeSpan(0, 0, 2), true));
l_oManger.StopUpdatePeridically().Wait();
// Should not lead to dead lock.
l_oManger.StopUpdatePeridically().Wait();
}
[Test]
public async Task TestStartUpdatePeriodiallyRepeated()
{
var l_oManger = new PollingUpdateTaskManager(() => Task.Delay(1000));
await l_oManger.StartUpdateAyncPeridically(new PollingParameters(new System.TimeSpan(0, 0, 2), true));
// Should not lead to dead lock.
await l_oManger.StartUpdateAyncPeridically(new PollingParameters(new System.TimeSpan(0, 0, 2), true));
l_oManger.StopUpdatePeridically().Wait();
}
[Test]
public async Task TestStopUpdatePeriodiallyNoStart()
{
var l_oManger = new PollingUpdateTaskManager(() => Task.Delay(1000));
// Should not lead to dead lock.
await l_oManger.StartUpdateAyncPeridically(new PollingParameters(new System.TimeSpan(0, 0, 2), true));
}
}
}

View file

@ -0,0 +1,45 @@
using NUnit.Framework;
using System.Threading.Tasks;
using TINK.ViewModel;
namespace TestTINKLib.Fixtures.ObjectTests
{
[TestFixture]
public class TestPollingUpdateTask
{
/// <summary>
/// Verify that no exception is thrown when invoking Terminate.
/// </summary>
[Test]
public async Task TestCtorPollingOff()
{
var task = new PollingUpdateTask(() => throw new System.Exception("This must not be called."), null);
await task.Terminate();
}
[Test]
public async Task TestCtorPollingOn()
{
int index = 0;
var task = new PollingUpdateTask(() => index++, new System.TimeSpan(10));
System.Threading.SpinWait.SpinUntil(() => index > 2);
await task.Terminate();
Assert.That(index, Is.AtLeast(3), "Delegate which increments index must be called.");
}
[Test]
public void TestTerminateRepeated()
{
var tasks = new PollingUpdateTask(async () => await Task.Delay(1000), new System.TimeSpan(0, 0, 2));
tasks.Terminate().Wait();
// Verify that calling terminate twice does not lead to hang of call.
tasks.Terminate().Wait();
}
}
}