Version 3.0.363

This commit is contained in:
Anja 2023-04-19 12:14:14 +02:00
parent 4ff3307997
commit 91d42552c7
212 changed files with 1799 additions and 1318 deletions

View file

@ -0,0 +1,89 @@
using Newtonsoft.Json;
using NUnit.Framework;
using TINK.Repository.Response;
namespace TestShareeLib.Repository.Response
{
[TestFixture]
public class TestBikeInfoBase
{
[Test]
public void TestAaRide()
{
// Response for bike S3X1010 is a real world answer.
var bike = JsonConvert.DeserializeObject<BikeInfoBase>(@"
{
""gps"": {
""latitude"": ""49.802095"",
""longitude"": ""9.944987""
},
""station"": ""SX9224997072021"",
""bike"": ""S3X1010"",
""state"": ""available"",
""unlock_allowed"": ""1"",
""authed"": ""0"",
""bike_type"": {
""engine"": {
""manufacturer"": ""sigo""
},
""battery"": {
""backend_accessible"": ""1"",
""hidden"": ""0"",
""charge_current_bars"": ""5"",
""charge_max_bars"": ""5"",
""charge_current_percent"": ""99""
}
},
""aa_ride"": ""1"",
""uri_operator"": ""https://shareeapp-sx.copri.eu"",
""system"": ""sigo"",
""rental_description"": {
""tarif_elements"": {
""1"": [
""Mietgebühr"",
""1,50 / 30 Min ""
],
""4"": [
""Max. Gebühr"",
""25,00 / Tag""
],
""6"": [
""Gratis Mietzeit"",
""30 Min ""
]
},
""id"": ""100"",
""reserve_timerange"": ""30"",
""rental_info"": {
""1"": [
""Tracking"",
""Ich stimme der Speicherung (Tracking) meiner Fahrstrecke zwecks wissenschaftlicher Auswertung und Berechnung der CO2-Einsparung zu!""
],
""2"": [
""AAFahrten"",
""Dieses E-Lastenrad darf nur an der Station zurück gegeben werden an der es ausgeliehen wurde!""
]
},
""name"": ""Basis""
},
""description"": ""E-Lastenrad"",
""lock_state"": ""locked"",
""bike_group"": [
""SX300101""
]}");
Assert.That(
bike.aa_ride,
Is.EqualTo("1"));
}
[Test]
public void TestAaRideFalse() =>
Assert.That(
JsonConvert.DeserializeObject<BikeInfoBase>(@"
{
""aa_ride"": ""0"",
}").aa_ride,
Is.EqualTo("0"));
}
}

View file

@ -4,6 +4,7 @@ using Newtonsoft.Json;
using NUnit.Framework;
using TINK.Repository;
using TINK.Repository.Response;
using TINK.Repository.Response.Stations;
namespace UITest.Fixtures.ObjectTests.Connector
{

View file

@ -113,7 +113,7 @@ namespace TestShareeLib.Repository
// Ensure that answer holds a valid bike.
var l_oBike = CopriCallsStatic.DeserializeResponse<BikesAvailableResponse>(VALID_RESPONSE).bikes.FirstOrDefault().Value;
Assert.NotNull(l_oBike, "Response must contain at leas one bike.");
Assert.Greater(l_oBike.description.Length, 0, "Bike despcription must never be empty.");
Assert.Greater(l_oBike.description.Length, 0, "Bike description must never be empty.");
Assert.AreEqual(l_oBike.bike, "26");
Assert.That(
l_oBike.station,
@ -184,7 +184,7 @@ namespace TestShareeLib.Repository
// Ensure that answer holds a valid bike.
var l_oBike = CopriCallsStatic.DeserializeResponse<BikesAvailableResponse>(VALID_RESPONSE).bikes.FirstOrDefault().Value;
Assert.NotNull(l_oBike, "Response must contain at leas one bike.");
Assert.Greater(l_oBike.description.Length, 0, "Bike despcription must never be empty.");
Assert.Greater(l_oBike.description.Length, 0, "Bike description must never be empty.");
Assert.That(l_oBike.bike, Is.Null);
Assert.That(l_oBike.station, Is.Not.Null);
Assert.AreEqual("available", l_oBike.state);
@ -226,7 +226,7 @@ namespace TestShareeLib.Repository
// Ensure that answer holds a valid bike.
var l_oBike = CopriCallsStatic.DeserializeResponse<BikesReservedOccupiedResponse>(VALID_RESPONSE).bikes_occupied.FirstOrDefault().Value;
Assert.NotNull(l_oBike, "Response must contain at leas one bike.");
Assert.Greater(l_oBike.description.Length, 0, "Bike despcription must never be empty.");
Assert.Greater(l_oBike.description.Length, 0, "Bike description must never be empty.");
Assert.That(l_oBike.bike, Is.Not.Null);
Assert.That(l_oBike.station, Is.Not.Null);
Assert.Greater(l_oBike.state.Length, 0, "State info must never be null or empty.");