sharee.bike-App/TestShareeLib/Model/TestBikeCollectionFilter.cs

129 lines
3.5 KiB
C#
Raw Normal View History

2023-01-18 14:22:51 +01:00
using System;
2021-05-13 20:09:46 +02:00
using System.Collections.Generic;
2022-08-30 15:42:25 +02:00
using NUnit.Framework;
2021-05-13 20:09:46 +02:00
using TINK.Model;
2022-08-30 15:42:25 +02:00
using TINK.Model.Bikes;
2023-01-18 14:22:51 +01:00
using TINK.Model.Bikes.BikeInfoNS.BC;
2022-08-30 15:42:25 +02:00
using TINK.Model.Bikes.BikeInfoNS.BikeNS;
using TINK.Model.Bikes.BikeInfoNS.DriveNS;
2021-05-13 20:09:46 +02:00
namespace TestTINKLib.Fixtures.ObjectTests.Bike
{
2022-09-06 16:08:19 +02:00
[TestFixture]
public class TestBikeCollectionFilter
{
[Test]
public void TestGetAtStation()
{
var coll = new BikeCollection(
2023-04-19 12:14:14 +02:00
new Dictionary<string, BikeInfo>
2022-09-06 16:08:19 +02:00
{
2023-04-19 12:14:14 +02:00
{"3", new TINK.Model.Bikes.BikeInfoNS.BluetoothLock.BikeInfo(
new TINK.Model.Bikes.BikeInfoNS.BikeNS.Bike("7", LockModel.ILockIt),
2023-08-31 12:31:38 +02:00
new DriveMutable(),
2023-04-19 12:14:14 +02:00
DataSource.Copri,
17, /* Lock id */
new Guid(),
"3" /* Station id */) },
{"7", new TINK.Model.Bikes.BikeInfoNS.BluetoothLock.BikeInfo(
new TINK.Model.Bikes.BikeInfoNS.BikeNS.Bike("8", LockModel.ILockIt),
2023-08-31 12:31:38 +02:00
new DriveMutable(),
2023-04-19 12:14:14 +02:00
DataSource.Copri,
17, /* Lock id */
new Guid(),
"12" /* Station id */) },
{"12",
new TINK.Model.Bikes.BikeInfoNS.BluetoothLock.BikeInfo(new TINK.Model.Bikes.BikeInfoNS.BikeNS.Bike("33", LockModel.ILockIt),
2023-08-31 12:31:38 +02:00
new DriveMutable(),
2023-04-19 12:14:14 +02:00
DataSource.Copri,
17, /* Lock id */
new Guid(),
"12" /* Station id */) }
2022-09-06 16:08:19 +02:00
});
2021-05-13 20:09:46 +02:00
2022-09-06 16:08:19 +02:00
Assert.AreEqual(
0,
BikeCollectionFilter.GetAtStation(null, "12").Count);
2021-05-13 20:09:46 +02:00
2022-09-06 16:08:19 +02:00
Assert.AreEqual(
0,
coll.GetAtStation(null).Count);
2021-05-13 20:09:46 +02:00
2022-09-06 16:08:19 +02:00
Assert.AreEqual(
0,
coll.GetAtStation("22").Count);
2021-05-13 20:09:46 +02:00
2022-09-06 16:08:19 +02:00
Assert.AreEqual(
1,
coll.GetAtStation("3").Count);
2021-05-13 20:09:46 +02:00
2022-09-06 16:08:19 +02:00
Assert.AreEqual(
2,
coll.GetAtStation("12").Count);
}
2021-05-13 20:09:46 +02:00
2022-09-06 16:08:19 +02:00
[Test]
public void TestGetLockIt_Null()
{
Assert.That(
BikeCollectionFilter.GetLockIt(null).Count,
Is.EqualTo(0));
}
2021-05-13 20:09:46 +02:00
2022-09-06 16:08:19 +02:00
[Test]
public void TestGetLockIt_NoLockIt()
{
// Holds no LockIt bikes
var coll = new BikeCollection(
2023-04-19 12:14:14 +02:00
new Dictionary<string, BikeInfo>
2022-09-06 16:08:19 +02:00
{
2023-04-19 12:14:14 +02:00
{"7", new TINK.Model.Bikes.BikeInfoNS.CopriLock.BikeInfo(new TINK.Model.Bikes.BikeInfoNS.BikeNS.Bike("8", LockModel.ILockIt),
2023-08-31 12:31:38 +02:00
new DriveMutable(),
2023-04-19 12:14:14 +02:00
DataSource.Copri,
"12", /* Station id */
new TINK.Model.Bikes.BikeInfoNS.CopriLock.LockInfo()) },
{"12", new TINK.Model.Bikes.BikeInfoNS.CopriLock.BikeInfo(new TINK.Model.Bikes.BikeInfoNS.BikeNS.Bike("33", LockModel.ILockIt),
2023-08-31 12:31:38 +02:00
new DriveMutable(),
2023-04-19 12:14:14 +02:00
DataSource.Copri,
"12", /* Station id */
new TINK.Model.Bikes.BikeInfoNS.CopriLock.LockInfo()) }
2022-09-06 16:08:19 +02:00
});
2021-05-13 20:09:46 +02:00
2022-09-06 16:08:19 +02:00
Assert.AreEqual(
0,
coll.GetLockIt().Count);
}
2021-05-13 20:09:46 +02:00
2022-09-06 16:08:19 +02:00
[Test]
public void TestGetLockIt()
{
2021-05-13 20:09:46 +02:00
2022-09-06 16:08:19 +02:00
// Holds no LockIt bike with matching station number.
var coll = new BikeCollection(
2023-04-19 12:14:14 +02:00
new Dictionary<string, BikeInfo>
2022-09-06 16:08:19 +02:00
{
2023-04-19 12:14:14 +02:00
{"7", new TINK.Model.Bikes.BikeInfoNS.CopriLock.BikeInfo(new TINK.Model.Bikes.BikeInfoNS.BikeNS.Bike("8", LockModel.ILockIt),
2023-08-31 12:31:38 +02:00
new DriveMutable(),
2023-04-19 12:14:14 +02:00
DataSource.Copri,
"12", /* Station id */
new TINK.Model.Bikes.BikeInfoNS.CopriLock.LockInfo()) },
{"11", new TINK.Model.Bikes.BikeInfoNS.BluetoothLock.BikeInfo(new TINK.Model.Bikes.BikeInfoNS.BikeNS.Bike("33", LockModel.ILockIt),
2023-08-31 12:31:38 +02:00
new DriveMutable(),
2023-04-19 12:14:14 +02:00
DataSource.Copri,
5200544,
new Guid("00000000-0000-0000-0000-000000000001"),
"12" /* Station id */) },
{"12", new TINK.Model.Bikes.BikeInfoNS.CopriLock.BikeInfo(new TINK.Model.Bikes.BikeInfoNS.BikeNS.Bike("33", LockModel.ILockIt),
2023-08-31 12:31:38 +02:00
new DriveMutable(),
2023-04-19 12:14:14 +02:00
DataSource.Copri,
"12", /* Station id */
new TINK.Model.Bikes.BikeInfoNS.CopriLock.LockInfo()) }
2022-09-06 16:08:19 +02:00
});
2021-05-13 20:09:46 +02:00
2022-09-06 16:08:19 +02:00
Assert.AreEqual(
1,
coll.GetLockIt().Count);
}
}
2021-05-13 20:09:46 +02:00
}