Version 3.0.376

This commit is contained in:
Anja 2023-11-21 15:26:57 +01:00
parent ca080c87c0
commit f963c0a219
158 changed files with 3228 additions and 1279 deletions

View file

@ -1,3 +1,4 @@
using System;
using System.Threading.Tasks;
using Newtonsoft.Json;
using NSubstitute;
@ -138,20 +139,29 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector.Query
}
[Test]
public async Task TestGetBikes()
public async Task TestGetBikesAsync()
{
var server = Substitute.For<ICachedCopriServer>();
server.GetBikesAvailable().Returns(Task.Run(() => new Result<BikesAvailableResponse>(
var uri = new Uri("https://MyServer.com");
var station = "MyStation";
var bike = "MyBike";
var resultBikesAv = new Result<BikesAvailableResponse>(
typeof(CopriCallsHttps),
JsonConvert.DeserializeObject<BikesAvailableResponse>(BIKESAVAILABLE),
new GeneralData())));
new GeneralData());
var result = await new CachedQuery(server).GetBikesAsync();
server.GetBikesAvailable(operatorUri: uri, stationId: station, bikeId: bike).Returns(Task.Run(() => resultBikesAv));
var result = await new CachedQuery(server).GetBikesAsync(uri, station, bike);
Assert.AreEqual(1, result.Response.Count);
Assert.AreEqual(typeof(CopriCallsHttps), result.Source);
Assert.IsNull(result.Exception);
await server.Received().GetBikesAvailable(operatorUri: uri, stationId: station, bikeId: bike);
server.Received().AddToCache(resultBikesAv, operatorUri: uri, stationId: station, bikeId: bike);
}
[Test]

View file

@ -761,7 +761,7 @@ namespace TestShareeLib.Model.Connector
}
[Test]
public async Task TestGetBikes_BikesAvailableFromCache()
public async Task TestGetBikesAsync_BikesAvailableFromCache()
{
var server = Substitute.For<ICachedCopriServer>();
@ -769,7 +769,7 @@ namespace TestShareeLib.Model.Connector
typeof(CopriCallsMonkeyStore),
JsonConvert.DeserializeObject<BikesAvailableResponse>(BIKESAVAILABLE),
new GeneralData(),
new System.Exception("Bang, bikes avail..."))));
new Exception("Bang, bikes avail..."))));
server.GetBikesOccupied(true).Returns(Task.Run(() => new Result<BikesReservedOccupiedResponse>(
typeof(CopriCallsHttps),
@ -781,10 +781,16 @@ namespace TestShareeLib.Model.Connector
Assert.AreEqual(2, result.Response.Count);
Assert.AreEqual(typeof(CopriCallsMonkeyStore), result.Source);
Assert.AreEqual("Bang, bikes avail...", result.Exception.Message);
await server.Received().GetBikesAvailable();
await server.Received().GetBikesOccupied(true);
server.DidNotReceive().AddToCache(Arg.Any<Result<BikesAvailableResponse>>());
server.DidNotReceive().AddToCache(Arg.Any<Result<BikesReservedOccupiedResponse>>());
}
[Test]
public async Task TestGetBikes_BikesOccupiedFromCache()
public async Task TestGetBikesAsync_BikesOccupiedFromCache()
{
var server = Substitute.For<ICachedCopriServer>();
@ -797,7 +803,7 @@ namespace TestShareeLib.Model.Connector
typeof(CopriCallsMonkeyStore),
JsonConvert.DeserializeObject<BikesReservedOccupiedResponse>(BIKESOCCUPIED),
new GeneralData(),
new System.Exception("Bang, error bikes occupied"))));
new Exception("Bang, error bikes occupied"))));
server.GetBikesAvailable(true).Returns(Task.Run(() => new Result<BikesAvailableResponse>(
typeof(CopriCallsMonkeyStore),
@ -809,28 +815,43 @@ namespace TestShareeLib.Model.Connector
Assert.AreEqual(2, result.Response.Count);
Assert.AreEqual(typeof(CopriCallsMonkeyStore), result.Source);
Assert.AreEqual("Bang, error bikes occupied", result.Exception.Message);
await server.Received().GetBikesAvailable();
await server.Received().GetBikesOccupied();
server.DidNotReceive().AddToCache(Arg.Any<Result<BikesAvailableResponse>>());
server.DidNotReceive().AddToCache(Arg.Any< Result<BikesReservedOccupiedResponse>>());
}
[Test]
public async Task TestGetBikes()
public async Task TestGetBikesAsync([Values("", "MyBike")] string bikeFilter)
{
var server = Substitute.For<ICachedCopriServer>();
server.GetBikesAvailable().Returns(Task.Run(() => new Result<BikesAvailableResponse>(
var resultBikesAvailableResponse = new Result<BikesAvailableResponse>(
typeof(CopriCallsHttps),
JsonConvert.DeserializeObject<BikesAvailableResponse>(BIKESAVAILABLE),
new GeneralData())));
new GeneralData());
server.GetBikesOccupied().Returns(Task.Run(() => new Result<BikesReservedOccupiedResponse>(
var resultBikesOccupiedResponse = new Result<BikesReservedOccupiedResponse>(
typeof(CopriCallsHttps),
JsonConvert.DeserializeObject<BikesReservedOccupiedResponse>(BIKESOCCUPIED),
new GeneralData())));
new GeneralData());
var result = await new CachedQueryLoggedIn(server, "123", "a@b", () => DateTime.Now).GetBikesAsync();
server.GetBikesAvailable(bikeId: bikeFilter).Returns(Task.Run(() => resultBikesAvailableResponse));
server.GetBikesOccupied().Returns(Task.Run(() => resultBikesOccupiedResponse));
var result = await new CachedQueryLoggedIn(server, "123", "a@b", () => DateTime.Now).GetBikesAsync(bikeId: bikeFilter);
Assert.AreEqual(2, result.Response.Count);
Assert.AreEqual(typeof(CopriCallsHttps), result.Source);
Assert.IsNull(result.Exception);
await server.Received().GetBikesAvailable(bikeId: bikeFilter);
await server.Received().GetBikesOccupied();
server.Received().AddToCache(resultBikesAvailableResponse, bikeId: bikeFilter);
server.Received().AddToCache(resultBikesOccupiedResponse);
}
[Test]
@ -856,41 +877,55 @@ namespace TestShareeLib.Model.Connector
}
[Test]
public async Task TestGetBikesOperratorUri()
public async Task TestGetBikesAsyncOperatorUri()
{
var server = Substitute.For<ICachedCopriServer>();
server.GetBikesAvailable(operatorUri: Arg.Any<Uri>()).Returns(Task.Run(() => new Result<BikesAvailableResponse>(
var resultBikesAvailableResponse = new Result<BikesAvailableResponse>(
typeof(CopriCallsHttps),
JsonConvert.DeserializeObject<BikesAvailableResponse>(BIKESAVAILABLE2),
new GeneralData())));
new GeneralData());
var result = await new CachedQueryLoggedIn(server, "123", "a@b", () => DateTime.Now).GetBikesAsync(new Uri("https://shareeapp-fr01.copri.eu//APIjsonserver"));
var uri = new Uri("https://shareeapp-fr01.copri.eu//APIjsonserver");
var station = "StationX";
server.GetBikesAvailable(operatorUri: Arg.Any<Uri>(), stationId: station).Returns(Task.Run(() => resultBikesAvailableResponse));
var result = await new CachedQueryLoggedIn(server, "123", "a@b", () => DateTime.Now).GetBikesAsync(uri, station);
await server.DidNotReceive().GetBikesOccupied();
await server.DidNotReceive().GetBikesOccupied(Arg.Any<bool>());
server.Received().AddToCache(Arg.Any<Result<BikesAvailableResponse>>(), Arg.Any<Uri>());
server.Received().AddToCache(Arg.Any<Result<BikesAvailableResponse>>(), Arg.Any<Uri>(), station);
Assert.AreEqual(3, result.Response.Count);
Assert.AreEqual(typeof(CopriCallsHttps), result.Source);
Assert.IsNull(result.Exception);
await server.Received().GetBikesAvailable(operatorUri: uri, stationId: station);
server.Received().AddToCache(resultBikesAvailableResponse, operatorUri: uri, stationId: station);
await server.DidNotReceive().GetBikesOccupied();
server.DidNotReceive().AddToCache(Arg.Any<Result<BikesReservedOccupiedResponse>>());
}
[Test]
public async Task TestGetBikesOperratorUriCache()
public async Task TestGetBikesAsyncOperatorUriCache()
{
var server = Substitute.For<ICachedCopriServer>();
var uri = new Uri("https://shareeapp-fr01.copri.eu//APIjsonserver");
server.GetBikesAvailable(operatorUri: Arg.Any<Uri>()).Returns(Task.Run(() => new Result<BikesAvailableResponse>(
typeof(CopriCallsMonkeyStore),
JsonConvert.DeserializeObject<BikesAvailableResponse>(BIKESAVAILABLE2),
new GeneralData())));
var result = await new CachedQueryLoggedIn(server, "123", "a@b", () => DateTime.Now).GetBikesAsync(new Uri("https://shareeapp-fr01.copri.eu//APIjsonserver"));
var result = await new CachedQueryLoggedIn(server, "123", "a@b", () => DateTime.Now).GetBikesAsync(uri);
await server.Received().GetBikesAvailable(operatorUri: uri);
await server.DidNotReceive().GetBikesOccupied();
await server.DidNotReceive().GetBikesOccupied(Arg.Any<bool>());
server.DidNotReceive().AddToCache(Arg.Any<Result<BikesAvailableResponse>>(), Arg.Any<Uri>());
server.DidNotReceive().AddToCache(Arg.Any<Result<BikesReservedOccupiedResponse>>());
Assert.AreEqual(3, result.Response.Count);
Assert.AreEqual(typeof(CopriCallsMonkeyStore), result.Source);

View file

@ -424,7 +424,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector
try
{
// Do not add if an excption occurred
// Do not add if an exception occurred
provider.AddToCache(new Result<StationsAvailableResponse>(typeof(CopriCallsHttps), JsonConvert.DeserializeObject<StationsAvailableResponse>(STATIONSALL), new GeneralData(), new System.Exception("Bang...")));
stations = await provider.GetStations(true);
Assert.AreEqual(0, stations.Response.stations.Count);
@ -445,6 +445,31 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector
}
}
[Test]
public async Task Test_AddToCache()
{
var cache = Substitute.For<ICopriCache>();
var provider = new CopriProviderHttps(
new Uri("https://copri.net"),
"MerchId",
new AppContextInfo("MerchId", "Name", new Version()),
"de-de",
cacheServer: cache);
var uri = new Uri("https://Myserver.com");
var station = "MyStation";
var bike = "MyBike";
var result = new Result<BikesAvailableResponse>(typeof(CopriCallsHttps),
JsonConvert.DeserializeObject<BikesAvailableResponse>(BIKESAVAILABLE),
new GeneralData());
provider.AddToCache(result, uri, station, bike);
cache.Received().AddToCache(result.Response, uri, station, bike);
}
[Test]
public async Task Test_AddToCache_BikesAvailable()
{
@ -464,18 +489,29 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector
try
{
// Do not add if an excption occurred
provider.AddToCache(new Result<BikesAvailableResponse>(typeof(CopriCallsHttps), JsonConvert.DeserializeObject<BikesAvailableResponse>(BIKESAVAILABLE), new GeneralData(), new System.Exception("Bang...")));
// Do not add if an exception occurred
provider.AddToCache(
new Result<BikesAvailableResponse>(typeof(CopriCallsHttps),
JsonConvert.DeserializeObject<BikesAvailableResponse>(BIKESAVAILABLE),
new GeneralData(),
new System.Exception("Bang...")));
bikes = await provider.GetBikesAvailable(true);
Assert.AreEqual(0, bikes.Response.bikes.Count);
// Do not add if results from cache
provider.AddToCache(new Result<BikesAvailableResponse>(typeof(CopriCallsMonkeyStore), JsonConvert.DeserializeObject<BikesAvailableResponse>(BIKESAVAILABLE), new GeneralData()));
provider.AddToCache(new Result<BikesAvailableResponse>(
typeof(CopriCallsMonkeyStore),
JsonConvert.DeserializeObject<BikesAvailableResponse>(BIKESAVAILABLE),
new GeneralData()));
bikes = await provider.GetBikesAvailable(true);
Assert.AreEqual(0, bikes.Response.bikes.Count);
// Add result
provider.AddToCache(new Result<BikesAvailableResponse>(typeof(CopriCallsHttps), JsonConvert.DeserializeObject<BikesAvailableResponse>(BIKESAVAILABLE), new GeneralData()));
provider.AddToCache(
new Result<BikesAvailableResponse>(typeof(CopriCallsHttps),
JsonConvert.DeserializeObject<BikesAvailableResponse>(BIKESAVAILABLE),
new GeneralData()));
bikes = await provider.GetBikesAvailable(true);
Assert.AreEqual(1, bikes.Response.bikes.Count);
}
@ -485,7 +521,6 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector
}
}
[Test]
public async Task Test_AddToCache_BikesOccupied()
{

View file

@ -0,0 +1,35 @@
using System;
using System.Threading.Tasks;
using NSubstitute;
using NUnit.Framework;
using TINK.Model.Bikes;
using TINK.Model.Connector;
using TINK.Model.Services.CopriApi;
using TINK.Repository;
using TINK.Services.CopriApi;
namespace TestShareeLib.Model.Connector
{
[TestFixture]
public class TestFilteredConnector
{
[Test]
public async Task TestGetBikesAsync()
{
var connector = Substitute.For<IConnector>();
var filter = new FilteredConnector(new string[] { "" }, connector);
var uri = new Uri("https://MyOperator.com");
var station = "MyStation";
var bike = "MyBike";
connector.Query.GetBikesAsync(uri, station, bike).Returns(Task.FromResult(new Result<BikeCollection>(
typeof(CopriCallsHttps),
new BikeCollection(),
new GeneralData())));
await filter.Query.GetBikesAsync(uri, station, bike);
await connector.Received().Query.GetBikesAsync(uri, station, bike);
}
}
}

View file

@ -0,0 +1,35 @@
using System;
using System.Threading.Tasks;
using NSubstitute;
using NUnit.Framework;
using TINK.Model.Bikes;
using TINK.Model.Connector;
using TINK.Model.Services.CopriApi;
using TINK.Repository;
using TINK.Services.CopriApi;
namespace TestShareeLib.Model.Connector
{
[TestFixture]
public class TestNullFilterConnector
{
[Test]
public async Task TestGetBikesAsync()
{
var connector = Substitute.For<IConnector>();
var filter = new NullFilterConnector(connector);
var uri = new Uri("https://MyOperator.com");
var station = "MyStation";
var bike = "MyBike";
connector.Query.GetBikesAsync(uri, station, bike).Returns(Task.FromResult(new Result<BikeCollection>(
typeof(CopriCallsHttps),
new BikeCollection(),
new GeneralData())));
await filter.Query.GetBikesAsync(uri, station, bike);
await connector.Received().Query.GetBikesAsync(uri, station, bike);
}
}
}

View file

@ -1,3 +1,4 @@
using System;
using System.Threading.Tasks;
using Newtonsoft.Json;
using NSubstitute;
@ -100,17 +101,23 @@ namespace TestTINKLib.Fixtures.ObjectTests.Query
}
[Test]
public async Task TestGetBikes()
public async Task TestGetBikesAsync()
{
var server = Substitute.For<ICopriServer>();
server.GetBikesAvailableAsync().Returns(Task.Run(() => JsonConvert.DeserializeObject<BikesAvailableResponse>(BIKESAVAILABLE)));
var uri = new Uri("https://Myserver.com");
var station = "MyStation";
var bike = "MyBike";
var result = await new TINK.Model.Connector.Query(server).GetBikesAsync();
server.GetBikesAvailableAsync(uri, station, bike).Returns(Task.Run(() => JsonConvert.DeserializeObject<BikesAvailableResponse>(BIKESAVAILABLE)));
var result = await new TINK.Model.Connector.Query(server).GetBikesAsync(uri, station, bike);
Assert.AreEqual(1, result.Response.Count);
Assert.AreEqual(typeof(CopriCallsMonkeyStore), result.Source);
Assert.IsNull(result.Exception);
await server.Received().GetBikesAvailableAsync(uri, station, bike);
}
[Test]
@ -124,5 +131,19 @@ namespace TestTINKLib.Fixtures.ObjectTests.Query
Assert.AreEqual(typeof(CopriCallsMonkeyStore), result.Source);
Assert.AreEqual(result.Exception.Message, "Abfrage der reservierten/ gebuchten Räder fehlgeschlagen. Kein Benutzer angemeldet.");
}
}
[Test]
public async Task TestGetBikesAvailble()
{
var server = Substitute.For<ICopriServer>();
server.GetBikesAvailableAsync(Arg.Any<Uri>(), Arg.Any<string>()).Returns(new BikesAvailableResponse());
var uri = new Uri("https://shareeapp-fr01.copri.eu//");
var station = "FR101";
await new TINK.Model.Connector.Query(server).GetBikesAsync(uri, station);
await server.Received().GetBikesAvailableAsync(uri, station);
}
}
}

View file

@ -158,22 +158,26 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector
}
[Test]
public async Task TestGetBikes()
public async Task TestGetBikesAsync()
{
var server = Substitute.For<ICopriServer>();
server.GetBikesAvailableAsync().Returns(Task.Run(() => JsonConvert.DeserializeObject<BikesAvailableResponse>(BIKESAVAILABLE)));
var bike = "MyBike";
server.GetBikesAvailableAsync(bikeId: bike).Returns(Task.Run(() => JsonConvert.DeserializeObject<BikesAvailableResponse>(BIKESAVAILABLE)));
server.GetBikesOccupiedAsync().Returns(Task.Run(() => JsonConvert.DeserializeObject<BikesReservedOccupiedResponse>(BIKESOCCUPIED)));
var result = await new QueryLoggedIn(server, "123", "a@b", () => DateTime.Now).GetBikesAsync();
var result = await new QueryLoggedIn(server, "123", "a@b", () => DateTime.Now).GetBikesAsync(bikeId: bike);
Assert.AreEqual(2, result.Response.Count);
Assert.AreEqual(typeof(CopriCallsMonkeyStore), result.Source);
Assert.IsNull(result.Exception);
await server.Received().GetBikesAvailableAsync(bikeId: bike);
}
[Test]
public async Task TestGetBikesOccupied()
public async Task TestGetBikesOccupiedAsync()
{
var server = Substitute.For<ICopriServer>();
@ -187,5 +191,79 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector
Assert.AreEqual(typeof(CopriCallsMonkeyStore), result.Source);
Assert.IsNull(result.Exception);
}
[Test]
public async Task TestGetBikesAsyncOperatorUriNotNull()
{
var server = Substitute.For<ICopriServer>();
var responseBikesAvailable = JsonConvert.DeserializeObject<BikesAvailableResponse>(@"{
""bikes"" : {
""FR1011"" : {
""state"" : ""available"",
""bike"" : ""FR1011"",
""station"" : ""FR103"",
}
},
""bikes_occupied"" : {
""160373"" : {
""bike"" : ""FR1012"",
""station"" : ""FR103"",
""state"" : ""occupied"",
}
},
}");
server.GetBikesAvailableAsync(Arg.Any<Uri>(), Arg.Any<string>()).Returns(responseBikesAvailable);
var uri = new Uri("https://shareeapp-fr01.copri.eu//");
var station = "FR101";
var result = await new QueryLoggedIn(server, "123", "a@b", () => DateTime.Now).GetBikesAsync(uri, station);
Assert.That(result.Response.Count, Is.EqualTo(2));
await server.Received().GetBikesAvailableAsync(
uri /* Uri is not null for use case show "bikes at station x" page */,
station);
await server.DidNotReceive().GetBikesOccupiedAsync();
}
[Test]
public async Task TestGetBikesAsyncOperatorUriNull()
{
var server = Substitute.For<ICopriServer>();
var responseBikesAvailable = JsonConvert.DeserializeObject<BikesAvailableResponse>(@"{
""bikes"" : {
""FR1011"" : {
""state"" : ""available"",
""bike"" : ""FR1011"",
""station"" : ""FR103"",
}
},
}");
var responseBikesOccupied = JsonConvert.DeserializeObject<BikesReservedOccupiedResponse>(@"{
""bikes_occupied"" : {
""160373"" : {
""bike"" : ""FR1012"",
""station"" : ""FR103"",
""state"" : ""occupied"",
}
},
}");
server.GetBikesAvailableAsync().Returns(responseBikesAvailable);
server.GetBikesOccupiedAsync().Returns(responseBikesOccupied);
var result = await new QueryLoggedIn(server, "123", "a@b", () => DateTime.Now).GetBikesAsync();
Assert.That(result.Response.Count, Is.EqualTo(2));
await server.Received().GetBikesAvailableAsync();
await server.Received().GetBikesOccupiedAsync();
}
}
}

View file

@ -4,7 +4,6 @@ using Newtonsoft.Json;
using NSubstitute;
using NUnit.Framework;
using TINK.Model;
using TINK.Model.Bikes;
using TINK.Model.Bikes.BikeInfoNS.BC;
using TINK.Model.Bikes.BikeInfoNS.BikeNS;
using TINK.Model.Bikes.BikeInfoNS.DriveNS;

View file

@ -36,8 +36,24 @@ namespace TestShareeLib.Repository.Request
public void TestGetBikesAvailable()
{
Assert.AreEqual(
"request=bikes_available&system=all&authcookie=123",
new RequestBuilder("123", null /*UI language */).GetBikesAvailable());
"request=bikes_available&system=all&station=FR101&bike=FR1001&authcookie=123",
new RequestBuilder("123", null /*UI language */).GetBikesAvailable("FR101", "FR1001"));
}
[Test]
public void TestGetBikesAvailable_BikeOptOut()
{
Assert.AreEqual(
"request=bikes_available&system=all&station=FR101&authcookie=123",
new RequestBuilder("123", null /*UI language */).GetBikesAvailable("FR101"));
}
[Test]
public void TestGetBikesAvailable_StationOptOut()
{
Assert.AreEqual(
"request=bikes_available&system=all&bike=FR1001&authcookie=123",
new RequestBuilder("123", null /*UI language */).GetBikesAvailable(bikeId: "FR1001"));
}
[Test]

View file

@ -38,18 +38,66 @@ namespace TestShareeLib.Repository.Request
public void TestGetBikesAvailable()
{
Assert.AreEqual(
"request=bikes_available&system=all&authcookie=456123",
new RequestBuilderLoggedIn("123", null /*UI language */, "456").GetBikesAvailable());
"request=bikes_available&system=all&station=FR101&bike=FR1001&authcookie=456123",
new RequestBuilderLoggedIn("123", null /*UI language */, "456").GetBikesAvailable("FR101", "FR1001"));
}
[Test]
public void TestGetBikesAvailable_BikeIdOptOut()
{
Assert.AreEqual(
"request=bikes_available&system=all&station=FR101&authcookie=456123",
new RequestBuilderLoggedIn("123", null /*UI language */, "456").GetBikesAvailable("FR101"));
}
[Test]
public void TestGetBikesAvailable_BikeIdNull()
{
Assert.AreEqual(
"request=bikes_available&system=all&station=FR101&authcookie=456123",
new RequestBuilderLoggedIn("123", null /*UI language */, "456").GetBikesAvailable("FR101", null));
}
[Test]
public void TestGetBikesAvailable_BikeIdEmpty()
{
Assert.AreEqual(
"request=bikes_available&system=all&station=FR101&authcookie=456123",
new RequestBuilderLoggedIn("123", null /*UI language */, "456").GetBikesAvailable("FR101", ""));
}
[Test]
public void TestGetBikesAvailable_StationIdOptOut()
{
Assert.AreEqual(
"request=bikes_available&system=all&bike=FR1001&authcookie=456123",
new RequestBuilderLoggedIn("123", null /*UI language */, "456").GetBikesAvailable(bikeId: "FR1001"));
}
[Test]
public void TestGetBikesAvailable_StationNull()
{
Assert.AreEqual(
"request=bikes_available&system=all&bike=FR1001&authcookie=456123",
new RequestBuilderLoggedIn("123", null /*UI language */, "456").GetBikesAvailable(null, "FR1001"));
}
[Test]
public void TestGetBikesAvailable_StationEmpty()
{
Assert.AreEqual(
"request=bikes_available&system=all&bike=FR1001&authcookie=456123",
new RequestBuilderLoggedIn("123", null /*UI language */, "456").GetBikesAvailable("", "FR1001"));
}
[Test]
public void TestGetBikesAvailable_Null()
{
Assert.Throws<ArgumentException>(() =>
new RequestBuilderLoggedIn("123", null /*UI language */, null).GetBikesAvailable());
new RequestBuilderLoggedIn("123", null /*UI language */, null).GetBikesAvailable("FR101", "FR1001"));
Assert.Throws<ArgumentException>(() =>
new RequestBuilderLoggedIn("123", null /*UI language */, string.Empty).GetBikesAvailable());
new RequestBuilderLoggedIn("123", null /*UI language */, string.Empty).GetBikesAvailable("FR101", "FR1001"));
}
[Test]

View file

@ -1,6 +1,5 @@
using NUnit.Framework;
using NUnit.Framework;
using TINK.Model;
using static TINK.Repository.CopriCallsMemory;
namespace TestTINKLib.Fixtures.Connector

View file

@ -1,6 +1,5 @@
using NUnit.Framework;
using NUnit.Framework;
using TINK.Repository;
using static TINK.Repository.CopriCallsMemory;
namespace TestTINKLib.Fixtures.Connector.Response

View file

@ -1,4 +1,4 @@
using NUnit.Framework;
using NUnit.Framework;
using TINK.Repository;
using TINK.Repository.Response;
using static TINK.Repository.CopriCallsMemory;

View file

@ -1,4 +1,4 @@
using System;
using System;
using System.Collections.Generic;
using System.Linq;
using NUnit.Framework;

View file

@ -1,6 +1,5 @@
using NUnit.Framework;
using NUnit.Framework;
using TINK.Model;
using static TINK.Repository.CopriCallsMemory;
namespace TestTINKLib.Fixtures.Connector

View file

@ -162,7 +162,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
permissions,
bluetooth,
Device.Android,
new TINK.Model.Stations.StationNS.Station("102", new List<string>(), null), // Station 102
new TINK.Model.Stations.StationNS.Station("102", new List<string>(), null /* position*/, operatorUri: new Uri("https://shareeapp-fr01.copri.eu//APIjsonserver")), // Station 102
() => tinkApp.GetIsConnected(),
(isConnected) => tinkApp.GetConnector(isConnected),
geolocation.Active, // geolocation

View file

@ -1,23 +0,0 @@
using NUnit.Framework;
using TINK.ViewModel.Info;
namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Info
{
[TestFixture]
public class TestInfoViewModel
{
[Test]
public void TestOnAppearing()
{
var viewModel = new InfoPageViewModel(
"Hosti",
"agbResourcePath",
"privacyResourcePath",
"impressResourcePath",
false,
(url) => string.Empty,
() => null,
(resourceUrls) => { });
}
}
}

View file

@ -0,0 +1,23 @@
using NUnit.Framework;
using TINK.ViewModel.LegalInformation;
namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.LegalInformation
{
[TestFixture]
public class TestLegalInformationViewModel
{
[Test]
public void TestOnAppearing()
{
var viewModel = new LegalInformationPageViewModel(
"Host",
"gtcResourcePath",
"privacyResourcePath",
"impressResourcePath",
false,
(url) => string.Empty,
() => null,
(resourceUrls) => { });
}
}
}

View file

@ -0,0 +1,31 @@
using System.Collections.Generic;
using NUnit.Framework;
using TINK.Model;
using TINK.ViewModel.SelectBike;
using TINK.ViewModel.Map;
namespace TestShareeLib.ViewModel.SelectBike
{
[TestFixture]
public class TestSelectBikePageViewModel
{
[Test]
public void TestSelectBikeGetActiveFilteredBikeTypeCity() =>
Assert.That(
SelectBikePageViewModel.GetActiveFilteredBikeType(new GroupFilterMapPage(new Dictionary<string, FilterState> { { "300103" /* Citybike */, TINK.Model.FilterState.On }, { "300101", TINK.Model.FilterState.Off } })),
Is.EqualTo("City bike"));
[Test]
public void TestSelectBikeGetActiveFilteredBikeTypeCargo() =>
Assert.That(
SelectBikePageViewModel.GetActiveFilteredBikeType(new GroupFilterMapPage(new Dictionary<string, FilterState> { { "300103" /* Citybike */, TINK.Model.FilterState.Off }, { "300101", TINK.Model.FilterState.On } })),
Is.EqualTo("Cargo bike"));
[Test]
public void TestSelectBikeGetActiveFilteredBikeType() =>
Assert.That(
SelectBikePageViewModel.GetActiveFilteredBikeType(new GroupFilterMapPage(new Dictionary<string, FilterState>())),
Is.EqualTo(""));
}
}