mirror of
https://dev.azure.com/TeilRad/sharee.bike%20App/_git/Code
synced 2025-06-22 05:47:28 +02:00
Version 3.0.338
This commit is contained in:
parent
573fe77e12
commit
0468955d49
751 changed files with 62747 additions and 60672 deletions
|
@ -5,71 +5,71 @@ using TINK.Model.Connector.Filter;
|
|||
|
||||
namespace TestShareeLib.Model.Connector.Filter
|
||||
{
|
||||
[TestFixture]
|
||||
public class TestIntersectGroupFilterHelper
|
||||
{
|
||||
[Test]
|
||||
public void TestGetBikeCategory()
|
||||
{
|
||||
CollectionAssert.AreEqual(
|
||||
"300102",
|
||||
"Fr_300102".GetBikeCategory());
|
||||
}
|
||||
[TestFixture]
|
||||
public class TestIntersectGroupFilterHelper
|
||||
{
|
||||
[Test]
|
||||
public void TestGetBikeCategory()
|
||||
{
|
||||
CollectionAssert.AreEqual(
|
||||
"300102",
|
||||
"Fr_300102".GetBikeCategory());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestGetBikeCategoryEmpty()
|
||||
{
|
||||
CollectionAssert.AreEqual(
|
||||
"",
|
||||
"CAD_".GetBikeCategory());
|
||||
}
|
||||
[Test]
|
||||
public void TestGetBikeCategoryEmpty()
|
||||
{
|
||||
CollectionAssert.AreEqual(
|
||||
"",
|
||||
"CAD_".GetBikeCategory());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestToBikeCategory()
|
||||
{
|
||||
CollectionAssert.AreEqual(
|
||||
new List<string> { "300102", "777" },
|
||||
IntersectGroupFilterHelper.ToBikeCategory(new List<string> { "KN_300102", "Bla_XXX", "FR_777" }));
|
||||
}
|
||||
[Test]
|
||||
public void TestToBikeCategory()
|
||||
{
|
||||
CollectionAssert.AreEqual(
|
||||
new List<string> { "300102", "777" },
|
||||
IntersectGroupFilterHelper.ToBikeCategory(new List<string> { "KN_300102", "Bla_XXX", "FR_777" }));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestToBikeCategoryEmpty()
|
||||
{
|
||||
Assert.That(
|
||||
IntersectGroupFilterHelper.ToBikeCategory(new List<string> { "KN_" }).Count(),
|
||||
Is.EqualTo(0));
|
||||
}
|
||||
[Test]
|
||||
public void TestToBikeCategoryEmpty()
|
||||
{
|
||||
Assert.That(
|
||||
IntersectGroupFilterHelper.ToBikeCategory(new List<string> { "KN_" }).Count(),
|
||||
Is.EqualTo(0));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestIntersectByGoupId()
|
||||
{
|
||||
CollectionAssert.AreEqual(
|
||||
new List<string> { "FR_300101" },
|
||||
new List<string> { "FR_300101", "XY_777" }.IntersectByGoupId(new List<string> { "XY_776", "KN_300101" }));
|
||||
}
|
||||
[Test]
|
||||
public void TestIntersectByGoupId()
|
||||
{
|
||||
CollectionAssert.AreEqual(
|
||||
new List<string> { "FR_300101" },
|
||||
new List<string> { "FR_300101", "XY_777" }.IntersectByGoupId(new List<string> { "XY_776", "KN_300101" }));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestIntersectByGoupId_Empty()
|
||||
{
|
||||
CollectionAssert.AreEqual(
|
||||
new List<string>(),
|
||||
new List<string> { "FR_300102" }.IntersectByGoupId(new List<string> { "FR_300101" }));
|
||||
}
|
||||
[Test]
|
||||
public void TestIntersectByGoupId_Empty()
|
||||
{
|
||||
CollectionAssert.AreEqual(
|
||||
new List<string>(),
|
||||
new List<string> { "FR_300102" }.IntersectByGoupId(new List<string> { "FR_300101" }));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestContainsGroupId_True()
|
||||
{
|
||||
Assert.That(
|
||||
new List<string> { "FR_300101", "XY_777" }.ContainsGroupId("KN_300101"),
|
||||
Is.True);
|
||||
}
|
||||
[Test]
|
||||
public void TestContainsGroupId_True()
|
||||
{
|
||||
Assert.That(
|
||||
new List<string> { "FR_300101", "XY_777" }.ContainsGroupId("KN_300101"),
|
||||
Is.True);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestContainsGroupId_False()
|
||||
{
|
||||
Assert.That(
|
||||
new List<string> { "FR_300101", "XY_777" }.ContainsGroupId("XY_776"),
|
||||
Is.False);
|
||||
}
|
||||
}
|
||||
[Test]
|
||||
public void TestContainsGroupId_False()
|
||||
{
|
||||
Assert.That(
|
||||
new List<string> { "FR_300101", "XY_777" }.ContainsGroupId("XY_776"),
|
||||
Is.False);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,18 +11,18 @@ using TINK.Services.CopriApi;
|
|||
|
||||
namespace TestShareeLib.Model.Connector
|
||||
{
|
||||
[TestFixture]
|
||||
public class TestCachedQueryLoggedIn
|
||||
{
|
||||
/// <summary>
|
||||
/// Verifies that available bikes are not considered to by kind of MyBikes.
|
||||
/// </summary>
|
||||
[Test]
|
||||
public async Task TestGetBikesOccupiedAsyncMyBikesNone()
|
||||
{
|
||||
var server = Substitute.For<ICachedCopriServer>();
|
||||
[TestFixture]
|
||||
public class TestCachedQueryLoggedIn
|
||||
{
|
||||
/// <summary>
|
||||
/// Verifies that available bikes are not considered to by kind of MyBikes.
|
||||
/// </summary>
|
||||
[Test]
|
||||
public async Task TestGetBikesOccupiedAsyncMyBikesNone()
|
||||
{
|
||||
var server = Substitute.For<ICachedCopriServer>();
|
||||
|
||||
var bikesAvailable = JsonConvert.DeserializeObject<BikesAvailableResponse>(@"
|
||||
var bikesAvailable = JsonConvert.DeserializeObject<BikesAvailableResponse>(@"
|
||||
{
|
||||
""bikes"": {
|
||||
""FR1005"": {
|
||||
|
@ -35,47 +35,47 @@ namespace TestShareeLib.Model.Connector
|
|||
""copri_version"": ""4.1.12.5"",
|
||||
}");
|
||||
|
||||
var bikesOccupied = JsonConvert.DeserializeObject<BikesReservedOccupiedResponse>(@"
|
||||
var bikesOccupied = JsonConvert.DeserializeObject<BikesReservedOccupiedResponse>(@"
|
||||
{
|
||||
""bikes_occupied"": { },
|
||||
""copri_version"": ""4.1.12.5"",
|
||||
}");
|
||||
|
||||
var resultAvailable = new Result<BikesAvailableResponse>(
|
||||
typeof(CopriCallsHttps), // Marks that response was taken from cache
|
||||
bikesAvailable,
|
||||
new GeneralData());
|
||||
var resultAvailable = new Result<BikesAvailableResponse>(
|
||||
typeof(CopriCallsHttps), // Marks that response was taken from cache
|
||||
bikesAvailable,
|
||||
new GeneralData());
|
||||
|
||||
var resultOccupied = new Result<BikesReservedOccupiedResponse>(
|
||||
typeof(CopriCallsHttps),
|
||||
bikesOccupied,
|
||||
new GeneralData());
|
||||
var resultOccupied = new Result<BikesReservedOccupiedResponse>(
|
||||
typeof(CopriCallsHttps),
|
||||
bikesOccupied,
|
||||
new GeneralData());
|
||||
|
||||
server.GetBikesAvailable(false).Returns(Task.FromResult(resultAvailable));
|
||||
server.GetBikesOccupied(false).Returns(Task.FromResult(resultOccupied));
|
||||
server.GetBikesAvailable(false).Returns(Task.FromResult(resultAvailable));
|
||||
server.GetBikesOccupied(false).Returns(Task.FromResult(resultOccupied));
|
||||
|
||||
var query = new CachedQueryLoggedIn(
|
||||
server,
|
||||
"SessionCookie",
|
||||
"Mail",
|
||||
() => new DateTime(2022, 7, 16));
|
||||
var query = new CachedQueryLoggedIn(
|
||||
server,
|
||||
"SessionCookie",
|
||||
"Mail",
|
||||
() => new DateTime(2022, 7, 16));
|
||||
|
||||
var bikesResponse = await query.GetBikesOccupiedAsync();
|
||||
var bikesResponse = await query.GetBikesOccupiedAsync();
|
||||
|
||||
Assert.That(
|
||||
bikesResponse.Response.Count,
|
||||
Is.EqualTo(0));
|
||||
}
|
||||
Assert.That(
|
||||
bikesResponse.Response.Count,
|
||||
Is.EqualTo(0));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Verifies that available bikes with Co2Saving entry set are considered to by kind of MyBikes.
|
||||
/// </summary>
|
||||
[Test]
|
||||
public async Task TestGetBikesOccupiedAsyncMyBikesOneFeedbackPending()
|
||||
{
|
||||
var server = Substitute.For<ICachedCopriServer>();
|
||||
/// <summary>
|
||||
/// Verifies that available bikes with Co2Saving entry set are considered to by kind of MyBikes.
|
||||
/// </summary>
|
||||
[Test]
|
||||
public async Task TestGetBikesOccupiedAsyncMyBikesOneFeedbackPending()
|
||||
{
|
||||
var server = Substitute.For<ICachedCopriServer>();
|
||||
|
||||
var bikesAvailable = JsonConvert.DeserializeObject<BikesAvailableResponse>(@"
|
||||
var bikesAvailable = JsonConvert.DeserializeObject<BikesAvailableResponse>(@"
|
||||
{
|
||||
""bikes"": {
|
||||
""FR1005"": {
|
||||
|
@ -89,53 +89,53 @@ namespace TestShareeLib.Model.Connector
|
|||
""copri_version"": ""4.1.12.5"",
|
||||
}");
|
||||
|
||||
var bikesOccupied = JsonConvert.DeserializeObject<BikesReservedOccupiedResponse>(@"
|
||||
var bikesOccupied = JsonConvert.DeserializeObject<BikesReservedOccupiedResponse>(@"
|
||||
{
|
||||
""bikes_occupied"": { },
|
||||
""copri_version"": ""4.1.12.5"",
|
||||
}");
|
||||
|
||||
var resultAvailable = new Result<BikesAvailableResponse>(
|
||||
typeof(CopriCallsHttps),
|
||||
bikesAvailable,
|
||||
new GeneralData());
|
||||
var resultAvailable = new Result<BikesAvailableResponse>(
|
||||
typeof(CopriCallsHttps),
|
||||
bikesAvailable,
|
||||
new GeneralData());
|
||||
|
||||
var resultOccupied = new Result<BikesReservedOccupiedResponse>(
|
||||
typeof(CopriCallsHttps),
|
||||
bikesOccupied,
|
||||
new GeneralData());
|
||||
var resultOccupied = new Result<BikesReservedOccupiedResponse>(
|
||||
typeof(CopriCallsHttps),
|
||||
bikesOccupied,
|
||||
new GeneralData());
|
||||
|
||||
server.GetBikesAvailable(false).Returns(Task.FromResult(resultAvailable));
|
||||
server.GetBikesOccupied(false).Returns(Task.FromResult(resultOccupied));
|
||||
server.GetBikesAvailable(false).Returns(Task.FromResult(resultAvailable));
|
||||
server.GetBikesOccupied(false).Returns(Task.FromResult(resultOccupied));
|
||||
|
||||
var query = new CachedQueryLoggedIn(
|
||||
server,
|
||||
"SessionCookie",
|
||||
"Mail",
|
||||
() => new DateTime(2022, 7, 16));
|
||||
var query = new CachedQueryLoggedIn(
|
||||
server,
|
||||
"SessionCookie",
|
||||
"Mail",
|
||||
() => new DateTime(2022, 7, 16));
|
||||
|
||||
var bikesResponse = await query.GetBikesOccupiedAsync();
|
||||
var bikesResponse = await query.GetBikesOccupiedAsync();
|
||||
|
||||
Assert.That(
|
||||
bikesResponse.Response.Count,
|
||||
Is.EqualTo(1));
|
||||
}
|
||||
Assert.That(
|
||||
bikesResponse.Response.Count,
|
||||
Is.EqualTo(1));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// .
|
||||
/// </summary>
|
||||
[Test]
|
||||
public async Task TestGetBikesOccupiedAsyncMyBikesOneOccupied()
|
||||
{
|
||||
var server = Substitute.For<ICachedCopriServer>();
|
||||
/// <summary>
|
||||
/// .
|
||||
/// </summary>
|
||||
[Test]
|
||||
public async Task TestGetBikesOccupiedAsyncMyBikesOneOccupied()
|
||||
{
|
||||
var server = Substitute.For<ICachedCopriServer>();
|
||||
|
||||
var bikesAvailable = JsonConvert.DeserializeObject<BikesAvailableResponse>(@"
|
||||
var bikesAvailable = JsonConvert.DeserializeObject<BikesAvailableResponse>(@"
|
||||
{
|
||||
""bikes"": { },
|
||||
""copri_version"": ""4.1.12.5"",
|
||||
}");
|
||||
|
||||
var bikesOccupied = JsonConvert.DeserializeObject<BikesReservedOccupiedResponse>(@"
|
||||
var bikesOccupied = JsonConvert.DeserializeObject<BikesReservedOccupiedResponse>(@"
|
||||
{
|
||||
""bikes_occupied"": {
|
||||
""FR1005"": {
|
||||
|
@ -149,41 +149,41 @@ namespace TestShareeLib.Model.Connector
|
|||
""copri_version"": ""4.1.12.5"",
|
||||
}");
|
||||
|
||||
var resultAvailable = new Result<BikesAvailableResponse>(
|
||||
typeof(CopriCallsHttps),
|
||||
bikesAvailable,
|
||||
new GeneralData());
|
||||
var resultAvailable = new Result<BikesAvailableResponse>(
|
||||
typeof(CopriCallsHttps),
|
||||
bikesAvailable,
|
||||
new GeneralData());
|
||||
|
||||
var resultOccupied = new Result<BikesReservedOccupiedResponse>(
|
||||
typeof(CopriCallsHttps),
|
||||
bikesOccupied,
|
||||
new GeneralData());
|
||||
var resultOccupied = new Result<BikesReservedOccupiedResponse>(
|
||||
typeof(CopriCallsHttps),
|
||||
bikesOccupied,
|
||||
new GeneralData());
|
||||
|
||||
server.GetBikesAvailable(false).Returns(Task.FromResult(resultAvailable)); // Get bikes from copri
|
||||
server.GetBikesOccupied(false).Returns(Task.FromResult(resultOccupied)); // Get bikes from cache
|
||||
server.GetBikesAvailable(false).Returns(Task.FromResult(resultAvailable)); // Get bikes from copri
|
||||
server.GetBikesOccupied(false).Returns(Task.FromResult(resultOccupied)); // Get bikes from cache
|
||||
|
||||
var query = new CachedQueryLoggedIn(
|
||||
server,
|
||||
"SessionCookie",
|
||||
"Mail",
|
||||
() => new DateTime(2022, 7, 16));
|
||||
var query = new CachedQueryLoggedIn(
|
||||
server,
|
||||
"SessionCookie",
|
||||
"Mail",
|
||||
() => new DateTime(2022, 7, 16));
|
||||
|
||||
var bikesResponse = await query.GetBikesOccupiedAsync();
|
||||
var bikesResponse = await query.GetBikesOccupiedAsync();
|
||||
|
||||
Assert.That(
|
||||
bikesResponse.Response.Count,
|
||||
Is.EqualTo(1));
|
||||
}
|
||||
Assert.That(
|
||||
bikesResponse.Response.Count,
|
||||
Is.EqualTo(1));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Scenario: Call of GetBikesAvailable fails data is taken from cache.
|
||||
/// </summary>
|
||||
[Test]
|
||||
public async Task TestGetBikesOccupiedAsyncGetAvailableFailsMyBikeOneFeedbackPending()
|
||||
{
|
||||
var server = Substitute.For<ICachedCopriServer>();
|
||||
/// <summary>
|
||||
/// Scenario: Call of GetBikesAvailable fails data is taken from cache.
|
||||
/// </summary>
|
||||
[Test]
|
||||
public async Task TestGetBikesOccupiedAsyncGetAvailableFailsMyBikeOneFeedbackPending()
|
||||
{
|
||||
var server = Substitute.For<ICachedCopriServer>();
|
||||
|
||||
var bikesAvailable = JsonConvert.DeserializeObject<BikesAvailableResponse>(@"
|
||||
var bikesAvailable = JsonConvert.DeserializeObject<BikesAvailableResponse>(@"
|
||||
{
|
||||
""bikes"": {
|
||||
""FR1005"": {
|
||||
|
@ -197,53 +197,53 @@ namespace TestShareeLib.Model.Connector
|
|||
""copri_version"": ""4.1.12.5"",
|
||||
}");
|
||||
|
||||
var bikesOccupied = JsonConvert.DeserializeObject<BikesReservedOccupiedResponse>(@"
|
||||
var bikesOccupied = JsonConvert.DeserializeObject<BikesReservedOccupiedResponse>(@"
|
||||
{
|
||||
""bikes_occupied"": { },
|
||||
""copri_version"": ""4.1.12.5"",
|
||||
}");
|
||||
|
||||
var resultAvailable = new Result<BikesAvailableResponse>(
|
||||
typeof(CopriCallsMonkeyStore),
|
||||
bikesAvailable,
|
||||
new GeneralData());
|
||||
var resultAvailable = new Result<BikesAvailableResponse>(
|
||||
typeof(CopriCallsMonkeyStore),
|
||||
bikesAvailable,
|
||||
new GeneralData());
|
||||
|
||||
var resultOccupied = new Result<BikesReservedOccupiedResponse>(
|
||||
typeof(CopriCallsMonkeyStore),
|
||||
bikesOccupied,
|
||||
new GeneralData());
|
||||
var resultOccupied = new Result<BikesReservedOccupiedResponse>(
|
||||
typeof(CopriCallsMonkeyStore),
|
||||
bikesOccupied,
|
||||
new GeneralData());
|
||||
|
||||
server.GetBikesAvailable(false).Returns(Task.FromResult(resultAvailable));
|
||||
server.GetBikesOccupied(true).Returns(Task.FromResult(resultOccupied));
|
||||
server.GetBikesAvailable(false).Returns(Task.FromResult(resultAvailable));
|
||||
server.GetBikesOccupied(true).Returns(Task.FromResult(resultOccupied));
|
||||
|
||||
var query = new CachedQueryLoggedIn(
|
||||
server,
|
||||
"SessionCookie",
|
||||
"Mail",
|
||||
() => new DateTime(2022, 7, 16));
|
||||
var query = new CachedQueryLoggedIn(
|
||||
server,
|
||||
"SessionCookie",
|
||||
"Mail",
|
||||
() => new DateTime(2022, 7, 16));
|
||||
|
||||
var bikesResponse = await query.GetBikesOccupiedAsync();
|
||||
var bikesResponse = await query.GetBikesOccupiedAsync();
|
||||
|
||||
Assert.That(
|
||||
bikesResponse.Response.Count,
|
||||
Is.EqualTo(1));
|
||||
}
|
||||
Assert.That(
|
||||
bikesResponse.Response.Count,
|
||||
Is.EqualTo(1));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Scenario: Call of GetBikesAvailable succeeds but because call of GetBikesOccupied fails data is taken from cache.
|
||||
/// </summary>
|
||||
[Test]
|
||||
public async Task TestGetBikesOccupiedAsyncGetGetBikesOccupiedFailsMyBikeFeedbackPending()
|
||||
{
|
||||
var server = Substitute.For<ICachedCopriServer>();
|
||||
/// <summary>
|
||||
/// Scenario: Call of GetBikesAvailable succeeds but because call of GetBikesOccupied fails data is taken from cache.
|
||||
/// </summary>
|
||||
[Test]
|
||||
public async Task TestGetBikesOccupiedAsyncGetGetBikesOccupiedFailsMyBikeFeedbackPending()
|
||||
{
|
||||
var server = Substitute.For<ICachedCopriServer>();
|
||||
|
||||
var bikesAvailableCopri = JsonConvert.DeserializeObject<BikesAvailableResponse>(@"
|
||||
var bikesAvailableCopri = JsonConvert.DeserializeObject<BikesAvailableResponse>(@"
|
||||
{
|
||||
""bikes"": { },
|
||||
""copri_version"": ""4.1.12.5"",
|
||||
}");
|
||||
|
||||
var bikesAvailableCache = JsonConvert.DeserializeObject<BikesAvailableResponse>(@"
|
||||
var bikesAvailableCache = JsonConvert.DeserializeObject<BikesAvailableResponse>(@"
|
||||
{
|
||||
""bikes"": {
|
||||
""FR1005"": {
|
||||
|
@ -257,42 +257,42 @@ namespace TestShareeLib.Model.Connector
|
|||
""copri_version"": ""4.1.12.5"",
|
||||
}");
|
||||
|
||||
var bikesOccupied = JsonConvert.DeserializeObject<BikesReservedOccupiedResponse>(@"
|
||||
var bikesOccupied = JsonConvert.DeserializeObject<BikesReservedOccupiedResponse>(@"
|
||||
{
|
||||
""bikes_occupied"": { },
|
||||
""copri_version"": ""4.1.12.5"",
|
||||
}");
|
||||
|
||||
var resultAvailableCopri = new Result<BikesAvailableResponse>(
|
||||
typeof(CopriCallsHttps), // Marks that response was taken from copri
|
||||
bikesAvailableCache,
|
||||
new GeneralData());
|
||||
var resultAvailableCopri = new Result<BikesAvailableResponse>(
|
||||
typeof(CopriCallsHttps), // Marks that response was taken from copri
|
||||
bikesAvailableCache,
|
||||
new GeneralData());
|
||||
|
||||
var resultAvailableCache = new Result<BikesAvailableResponse>(
|
||||
typeof(CopriCallsMonkeyStore), // Marks that response was taken from cache
|
||||
bikesAvailableCache,
|
||||
new GeneralData());
|
||||
var resultAvailableCache = new Result<BikesAvailableResponse>(
|
||||
typeof(CopriCallsMonkeyStore), // Marks that response was taken from cache
|
||||
bikesAvailableCache,
|
||||
new GeneralData());
|
||||
|
||||
var resultOccupied = new Result<BikesReservedOccupiedResponse>(
|
||||
typeof(CopriCallsMonkeyStore),
|
||||
bikesOccupied,
|
||||
new GeneralData());
|
||||
var resultOccupied = new Result<BikesReservedOccupiedResponse>(
|
||||
typeof(CopriCallsMonkeyStore),
|
||||
bikesOccupied,
|
||||
new GeneralData());
|
||||
|
||||
server.GetBikesAvailable(false).Returns(Task.FromResult(resultAvailableCopri)); // Get bikes from copri
|
||||
server.GetBikesOccupied(false).Returns(Task.FromResult(resultOccupied)); // Get bikes from copri fails
|
||||
server.GetBikesAvailable(true).Returns(Task.FromResult(resultAvailableCache)); // Get bikes from cache
|
||||
server.GetBikesAvailable(false).Returns(Task.FromResult(resultAvailableCopri)); // Get bikes from copri
|
||||
server.GetBikesOccupied(false).Returns(Task.FromResult(resultOccupied)); // Get bikes from copri fails
|
||||
server.GetBikesAvailable(true).Returns(Task.FromResult(resultAvailableCache)); // Get bikes from cache
|
||||
|
||||
var query = new CachedQueryLoggedIn(
|
||||
server,
|
||||
"SessionCookie",
|
||||
"Mail",
|
||||
() => new DateTime(2022, 7, 16));
|
||||
var query = new CachedQueryLoggedIn(
|
||||
server,
|
||||
"SessionCookie",
|
||||
"Mail",
|
||||
() => new DateTime(2022, 7, 16));
|
||||
|
||||
var bikesResponse = await query.GetBikesOccupiedAsync();
|
||||
var bikesResponse = await query.GetBikesOccupiedAsync();
|
||||
|
||||
Assert.That(
|
||||
bikesResponse.Response.Count,
|
||||
Is.EqualTo(1));
|
||||
}
|
||||
}
|
||||
Assert.That(
|
||||
bikesResponse.Response.Count,
|
||||
Is.EqualTo(1));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,155 +9,155 @@ using UITest.Fixtures.Connector;
|
|||
|
||||
namespace TestTINKLib.Fixtures.Misc
|
||||
{
|
||||
[TestFixture]
|
||||
[Category(TestCopriCallsHttps.CATEGORY_REQUIRESCOPRI)]
|
||||
public class TestCachetimings
|
||||
{
|
||||
[Test]
|
||||
#if !NOLIVESERVER
|
||||
[Explicit("Run with care because this stress impact live system.")]
|
||||
//[Category(TestCopriCallsHttps.CATEGORY_USESLIVESERVER)]
|
||||
[TestFixture]
|
||||
[Category(TestCopriCallsHttps.CATEGORY_REQUIRESCOPRI)]
|
||||
public class TestCachetimings
|
||||
{
|
||||
[Test]
|
||||
#if !NOLIVESERVER
|
||||
[Explicit("Run with care because this stress impact live system.")]
|
||||
//[Category(TestCopriCallsHttps.CATEGORY_USESLIVESERVER)]
|
||||
#elif !NODEVELSERVER
|
||||
[Category(TestCopriCallsHttps.CATEGORY_USESDEVELSERVER)]
|
||||
#endif
|
||||
public void TestCachedQuery_GetStationsAll(
|
||||
public void TestCachedQuery_GetStationsAll(
|
||||
#if NOLIVESERVER
|
||||
[Values(CopriServerUriList.SHAREE_DEVEL)] string url,
|
||||
#elif NODEVELSERVER
|
||||
[Values(CopriServerUriList.SHAREE_LIVE)] string url,
|
||||
#else
|
||||
[Values(CopriServerUriList.SHAREE_DEVEL, CopriServerUriList.SHAREE_LIVE)] string url,
|
||||
[Values(CopriServerUriList.SHAREE_DEVEL, CopriServerUriList.SHAREE_LIVE)] string url,
|
||||
#endif
|
||||
[Values(";", "6103_4da3044c8657a04ba60e2eaa753bc51a_;javaminister@gmail.com")] string cookieAndMail)
|
||||
{
|
||||
Barrel.ApplicationId = GetType().Name + nameof(TestCachedQuery_GetStationsAll);
|
||||
[Values(";", "6103_4da3044c8657a04ba60e2eaa753bc51a_;javaminister@gmail.com")] string cookieAndMail)
|
||||
{
|
||||
Barrel.ApplicationId = GetType().Name + nameof(TestCachedQuery_GetStationsAll);
|
||||
|
||||
Log.Logger = new LoggerConfiguration()
|
||||
.MinimumLevel.ControlledBy(new Serilog.Core.LoggingLevelSwitch(Serilog.Events.LogEventLevel.Error))
|
||||
.WriteTo.Debug()
|
||||
.CreateLogger();
|
||||
Log.Logger = new LoggerConfiguration()
|
||||
.MinimumLevel.ControlledBy(new Serilog.Core.LoggingLevelSwitch(Serilog.Events.LogEventLevel.Error))
|
||||
.WriteTo.Debug()
|
||||
.CreateLogger();
|
||||
|
||||
var connector = ConnectorFactory.Create(
|
||||
true, // Is connected
|
||||
new Uri(url),
|
||||
new AppContextInfo("oiF2kahH" + nameof(TestCachedQuery_GetStationsAll), "sharee.bike.test", new Version(3, 0, 267)),
|
||||
null /*UI language */,
|
||||
cookieAndMail.Split(';')[0],
|
||||
cookieAndMail.Split(';')[1],
|
||||
TimeSpan.FromSeconds(3)); // See task #97 for need of custom expiresAfter value.
|
||||
var connector = ConnectorFactory.Create(
|
||||
true, // Is connected
|
||||
new Uri(url),
|
||||
new AppContextInfo("oiF2kahH" + nameof(TestCachedQuery_GetStationsAll), "sharee.bike.test", new Version(3, 0, 267)),
|
||||
null /*UI language */,
|
||||
cookieAndMail.Split(';')[0],
|
||||
cookieAndMail.Split(';')[1],
|
||||
TimeSpan.FromSeconds(3)); // See task #97 for need of custom expiresAfter value.
|
||||
|
||||
var start = DateTime.Now;
|
||||
var start = DateTime.Now;
|
||||
|
||||
var queryIndex = 1;
|
||||
while (DateTime.Now.Subtract(start).TotalSeconds < 60)
|
||||
{
|
||||
Log.ForContext<TestCachetimings>().Information($"Query #{queryIndex}");
|
||||
var queryIndex = 1;
|
||||
while (DateTime.Now.Subtract(start).TotalSeconds < 60)
|
||||
{
|
||||
Log.ForContext<TestCachetimings>().Information($"Query #{queryIndex}");
|
||||
|
||||
var result = connector.Query.GetBikesAndStationsAsync().Result;
|
||||
Assert.IsNull(result.Exception, $"Exception message: {result.Exception?.Message}");
|
||||
var result = connector.Query.GetBikesAndStationsAsync().Result;
|
||||
Assert.IsNull(result.Exception, $"Exception message: {result.Exception?.Message}");
|
||||
|
||||
queryIndex++;
|
||||
}
|
||||
}
|
||||
queryIndex++;
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks>
|
||||
/// From COPRI version v4.1 switched from TINK devel https://tinkwwp.copri-bike.de/APIjsonserver to sharee devel https://shareeapp-primary.copri-bike.de/APIjsonserver
|
||||
/// </summary>
|
||||
/// <param name="uri"></param>
|
||||
/// <param name="cookieAndMail"></param>
|
||||
[Test]
|
||||
#if !NOLIVESERVER
|
||||
[Explicit("Run with care because this stress impact live system.")]
|
||||
//[Category(TestCopriCallsHttps.CATEGORY_USESLIVESERVER)]
|
||||
/// <remarks>
|
||||
/// From COPRI version v4.1 switched from TINK devel https://tinkwwp.copri-bike.de/APIjsonserver to sharee devel https://shareeapp-primary.copri-bike.de/APIjsonserver
|
||||
/// </summary>
|
||||
/// <param name="uri"></param>
|
||||
/// <param name="cookieAndMail"></param>
|
||||
[Test]
|
||||
#if !NOLIVESERVER
|
||||
[Explicit("Run with care because this stress impact live system.")]
|
||||
//[Category(TestCopriCallsHttps.CATEGORY_USESLIVESERVER)]
|
||||
#elif !NODEVELSERVER
|
||||
[Category(TestCopriCallsHttps.CATEGORY_USESDEVELSERVER)]
|
||||
#endif
|
||||
public void TestCachedQuery_GetBikes(
|
||||
public void TestCachedQuery_GetBikes(
|
||||
#if NOLIVESERVER
|
||||
[Values(CopriServerUriList.SHAREE_DEVEL)] string url,
|
||||
#elif NODEVELSERVER
|
||||
[Values(CopriServerUriList.SHAREE_LIVE)] string url,
|
||||
#else
|
||||
[Values(CopriServerUriList.SHAREE_DEVEL, CopriServerUriList.SHAREE_LIVE)] string url,
|
||||
[Values(CopriServerUriList.SHAREE_DEVEL, CopriServerUriList.SHAREE_LIVE)] string url,
|
||||
#endif
|
||||
[Values(";", "6103_4da3044c8657a04ba60e2eaa753bc51a_;javaminister@gmail.com")] string cookieAndMail)
|
||||
{
|
||||
Barrel.ApplicationId = GetType().Name + nameof(TestCachedQuery_GetBikes);
|
||||
[Values(";", "6103_4da3044c8657a04ba60e2eaa753bc51a_;javaminister@gmail.com")] string cookieAndMail)
|
||||
{
|
||||
Barrel.ApplicationId = GetType().Name + nameof(TestCachedQuery_GetBikes);
|
||||
|
||||
Log.Logger = new LoggerConfiguration()
|
||||
.MinimumLevel.ControlledBy(new Serilog.Core.LoggingLevelSwitch(Serilog.Events.LogEventLevel.Error))
|
||||
.WriteTo.Debug()
|
||||
.CreateLogger();
|
||||
Log.Logger = new LoggerConfiguration()
|
||||
.MinimumLevel.ControlledBy(new Serilog.Core.LoggingLevelSwitch(Serilog.Events.LogEventLevel.Error))
|
||||
.WriteTo.Debug()
|
||||
.CreateLogger();
|
||||
|
||||
var connector = ConnectorFactory.Create(
|
||||
true, // Is connected
|
||||
new Uri(url),
|
||||
new AppContextInfo("oiF2kahH" + nameof(TestCachedQuery_GetBikes), "sharee.bike.test", new Version(3, 0, 267)),
|
||||
null /*UI language */,
|
||||
cookieAndMail.Split(';')[0],
|
||||
cookieAndMail.Split(';')[1],
|
||||
TimeSpan.FromSeconds(3)); // See task #97 for need of custom expiresAfter value.
|
||||
var connector = ConnectorFactory.Create(
|
||||
true, // Is connected
|
||||
new Uri(url),
|
||||
new AppContextInfo("oiF2kahH" + nameof(TestCachedQuery_GetBikes), "sharee.bike.test", new Version(3, 0, 267)),
|
||||
null /*UI language */,
|
||||
cookieAndMail.Split(';')[0],
|
||||
cookieAndMail.Split(';')[1],
|
||||
TimeSpan.FromSeconds(3)); // See task #97 for need of custom expiresAfter value.
|
||||
|
||||
var start = DateTime.Now;
|
||||
var start = DateTime.Now;
|
||||
|
||||
var queryIndex = 1;
|
||||
while (DateTime.Now.Subtract(start).TotalSeconds < 60)
|
||||
{
|
||||
Log.ForContext<TestCachetimings>().Information($"Query #{queryIndex}");
|
||||
var queryIndex = 1;
|
||||
while (DateTime.Now.Subtract(start).TotalSeconds < 60)
|
||||
{
|
||||
Log.ForContext<TestCachetimings>().Information($"Query #{queryIndex}");
|
||||
|
||||
var result = connector.Query.GetBikesAsync().Result;
|
||||
Assert.IsNull(result.Exception, $"Exception message: {result.Exception?.Message}");
|
||||
var result = connector.Query.GetBikesAsync().Result;
|
||||
Assert.IsNull(result.Exception, $"Exception message: {result.Exception?.Message}");
|
||||
|
||||
queryIndex++;
|
||||
}
|
||||
}
|
||||
queryIndex++;
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
#if !NOLIVESERVER
|
||||
[Explicit("Run with care because this stress impact live system.")]
|
||||
//[Category(TestCopriCallsHttps.CATEGORY_USESLIVESERVER)]
|
||||
[Test]
|
||||
#if !NOLIVESERVER
|
||||
[Explicit("Run with care because this stress impact live system.")]
|
||||
//[Category(TestCopriCallsHttps.CATEGORY_USESLIVESERVER)]
|
||||
#elif !NODEVELSERVER
|
||||
[Category(TestCopriCallsHttps.CATEGORY_USESDEVELSERVER)]
|
||||
#endif
|
||||
public void TestCachedQuery_GetBikesOccupied(
|
||||
public void TestCachedQuery_GetBikesOccupied(
|
||||
#if NOLIVESERVER
|
||||
[Values(CopriServerUriList.SHAREE_DEVEL)] string url,
|
||||
#elif NODEVELSERVER
|
||||
[Values(CopriServerUriList.SHAREE_LIVE)] string url,
|
||||
#else
|
||||
[Values(CopriServerUriList.SHAREE_DEVEL, CopriServerUriList.SHAREE_LIVE)] string url,
|
||||
[Values(CopriServerUriList.SHAREE_DEVEL, CopriServerUriList.SHAREE_LIVE)] string url,
|
||||
#endif
|
||||
[Values("6103_4da3044c8657a04ba60e2eaa753bc51a_;javaminister@gmail.com")] string cookieAndMail)
|
||||
{
|
||||
Barrel.ApplicationId = GetType().Name + nameof(TestCachedQuery_GetBikes);
|
||||
[Values("6103_4da3044c8657a04ba60e2eaa753bc51a_;javaminister@gmail.com")] string cookieAndMail)
|
||||
{
|
||||
Barrel.ApplicationId = GetType().Name + nameof(TestCachedQuery_GetBikes);
|
||||
|
||||
Log.Logger = new LoggerConfiguration()
|
||||
.MinimumLevel.ControlledBy(new Serilog.Core.LoggingLevelSwitch(Serilog.Events.LogEventLevel.Verbose))
|
||||
.WriteTo.Debug()
|
||||
.WriteTo.File($"Log{nameof(TestCachedQuery_GetBikes)}.log")
|
||||
.CreateLogger();
|
||||
Log.Logger = new LoggerConfiguration()
|
||||
.MinimumLevel.ControlledBy(new Serilog.Core.LoggingLevelSwitch(Serilog.Events.LogEventLevel.Verbose))
|
||||
.WriteTo.Debug()
|
||||
.WriteTo.File($"Log{nameof(TestCachedQuery_GetBikes)}.log")
|
||||
.CreateLogger();
|
||||
|
||||
var connector = ConnectorFactory.Create(
|
||||
true, // Is connected
|
||||
new Uri(url),
|
||||
new AppContextInfo("oiF2kahH" + nameof(TestCachedQuery_GetBikesOccupied), "sharee.bike.test", new Version(3, 0, 267)),
|
||||
null /*UI language */,
|
||||
cookieAndMail.Split(';')[0],
|
||||
cookieAndMail.Split(';')[1],
|
||||
TimeSpan.FromSeconds(3)); // See task #97 for need of custom expiresAfter value.
|
||||
var connector = ConnectorFactory.Create(
|
||||
true, // Is connected
|
||||
new Uri(url),
|
||||
new AppContextInfo("oiF2kahH" + nameof(TestCachedQuery_GetBikesOccupied), "sharee.bike.test", new Version(3, 0, 267)),
|
||||
null /*UI language */,
|
||||
cookieAndMail.Split(';')[0],
|
||||
cookieAndMail.Split(';')[1],
|
||||
TimeSpan.FromSeconds(3)); // See task #97 for need of custom expiresAfter value.
|
||||
|
||||
var start = DateTime.Now;
|
||||
var start = DateTime.Now;
|
||||
|
||||
var queryIndex = 1;
|
||||
while (DateTime.Now.Subtract(start).TotalSeconds < 60)
|
||||
{
|
||||
Log.ForContext<TestCachetimings>().Information($"Query #{queryIndex}");
|
||||
var queryIndex = 1;
|
||||
while (DateTime.Now.Subtract(start).TotalSeconds < 60)
|
||||
{
|
||||
Log.ForContext<TestCachetimings>().Information($"Query #{queryIndex}");
|
||||
|
||||
var result = connector.Query.GetBikesOccupiedAsync().Result;
|
||||
Assert.IsNull(result.Exception, $"Exception message: {result.Exception?.Message}");
|
||||
var result = connector.Query.GetBikesOccupiedAsync().Result;
|
||||
Assert.IsNull(result.Exception, $"Exception message: {result.Exception?.Message}");
|
||||
|
||||
queryIndex++;
|
||||
}
|
||||
}
|
||||
}
|
||||
queryIndex++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,22 +6,22 @@ using TINK.Repository;
|
|||
|
||||
namespace TestTINKLib.Fixtures.ObjectTests.Connector
|
||||
{
|
||||
[TestFixture]
|
||||
public class TestConnectorFactory
|
||||
{
|
||||
[Test]
|
||||
public void TestCreate()
|
||||
{
|
||||
if (string.IsNullOrEmpty(Barrel.ApplicationId))
|
||||
{
|
||||
Barrel.ApplicationId = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name;
|
||||
}
|
||||
[TestFixture]
|
||||
public class TestConnectorFactory
|
||||
{
|
||||
[Test]
|
||||
public void TestCreate()
|
||||
{
|
||||
if (string.IsNullOrEmpty(Barrel.ApplicationId))
|
||||
{
|
||||
Barrel.ApplicationId = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name;
|
||||
}
|
||||
|
||||
var connector = ConnectorFactory.Create(false, new Uri("https://1.2.3.4"), new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)), null /*UI language */, "123456789", "a@b");
|
||||
Assert.AreEqual(typeof(ConnectorCache), connector.GetType());
|
||||
var connector = ConnectorFactory.Create(false, new Uri("https://1.2.3.4"), new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)), null /*UI language */, "123456789", "a@b");
|
||||
Assert.AreEqual(typeof(ConnectorCache), connector.GetType());
|
||||
|
||||
connector = ConnectorFactory.Create(true, new Uri("https://1.2.3.4"), new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)), null /*UI language */, "123456789", "a@b");
|
||||
Assert.AreEqual(typeof(TINK.Model.Connector.Connector), connector.GetType());
|
||||
}
|
||||
}
|
||||
connector = ConnectorFactory.Create(true, new Uri("https://1.2.3.4"), new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)), null /*UI language */, "123456789", "a@b");
|
||||
Assert.AreEqual(typeof(TINK.Model.Connector.Connector), connector.GetType());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,10 +12,10 @@ using TINK.Services.CopriApi;
|
|||
|
||||
namespace TestTINKLib.Fixtures.ObjectTests.Connector
|
||||
{
|
||||
[TestFixture]
|
||||
public class TestCopriProviderHttps
|
||||
{
|
||||
private const string BIKESAVAILABLE = @"{
|
||||
[TestFixture]
|
||||
public class TestCopriProviderHttps
|
||||
{
|
||||
private const string BIKESAVAILABLE = @"{
|
||||
""copri_version"" : ""4.1.0.0"",
|
||||
""bikes"" : {},
|
||||
""response_state"" : ""OK"",
|
||||
|
@ -33,7 +33,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector
|
|||
}
|
||||
}";
|
||||
|
||||
private const string BIKESOCCUPIED = @"{
|
||||
private const string BIKESOCCUPIED = @"{
|
||||
""authcookie"" : ""6103_f782a208d9399291ba8d086b5dcc2509_12345678"",
|
||||
""debuglevel"" : ""2"",
|
||||
""user_group"" : [ ""TINK"" ],
|
||||
|
@ -66,7 +66,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector
|
|||
}
|
||||
}";
|
||||
|
||||
private const string STATIONSALL = @"{
|
||||
private const string STATIONSALL = @"{
|
||||
""copri_version"" : ""4.1.0.0"",
|
||||
""stations"" : {
|
||||
""5"" : {
|
||||
|
@ -106,424 +106,424 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector
|
|||
""apiserver"" : ""https://tinkwwp.copri-bike.de""
|
||||
}";
|
||||
|
||||
[Test]
|
||||
public async Task TestGetBikesAvailable_NotExpired()
|
||||
{
|
||||
var cache = Substitute.For<ICopriCache>();
|
||||
var https = Substitute.For<ICopriServer>();
|
||||
|
||||
cache.IsBikesAvailableExpired.Returns(false);
|
||||
cache.GetBikesAvailableAsync().Returns(Task.Run(() => JsonConvert.DeserializeObject<BikesAvailableResponse>(BIKESAVAILABLE)));
|
||||
|
||||
var provider = new CopriProviderHttps(
|
||||
new Uri("http://1.2.3.4"),
|
||||
"123", // Merchant id
|
||||
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)), // User agent
|
||||
null /*UI language */,
|
||||
"456", // cookie
|
||||
cacheServer: cache,
|
||||
httpsServer: https);
|
||||
|
||||
var bikes = await provider.GetBikesAvailable();
|
||||
|
||||
Assert.AreEqual(1, bikes.Response.bikes.Count);
|
||||
Assert.AreEqual(typeof(CopriCallsMonkeyStore).Name, bikes.Source.Name);
|
||||
Assert.IsNull(bikes.Exception);
|
||||
}
|
||||
|
||||
|
||||
[Test]
|
||||
public async Task TestGetBikesAvailable_ExpiredForceCache()
|
||||
{
|
||||
var cache = Substitute.For<ICopriCache>();
|
||||
var https = Substitute.For<ICopriServer>();
|
||||
|
||||
cache.IsBikesAvailableExpired.Returns(true);
|
||||
cache.GetBikesAvailableAsync().Returns(Task.Run(() => JsonConvert.DeserializeObject<BikesAvailableResponse>(BIKESAVAILABLE)));
|
||||
|
||||
var provider = new CopriProviderHttps(
|
||||
new Uri("http://1.2.3.4"),
|
||||
"123",
|
||||
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)),
|
||||
null /*UI language */,
|
||||
cacheServer: cache,
|
||||
httpsServer: https);
|
||||
|
||||
var bikes = await provider.GetBikesAvailable(true);
|
||||
|
||||
Assert.AreEqual(1, bikes.Response.bikes.Count);
|
||||
Assert.AreEqual(typeof(CopriCallsMonkeyStore).Name, bikes.Source.Name);
|
||||
Assert.IsNull(bikes.Exception);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task TestGetBikesAvailable_Expired()
|
||||
{
|
||||
var cache = Substitute.For<ICopriCache>();
|
||||
var https = Substitute.For<ICopriServer>();
|
||||
|
||||
cache.IsBikesAvailableExpired.Returns(true);
|
||||
https.GetBikesAvailableAsync().Returns(Task.Run(() => JsonConvert.DeserializeObject<BikesAvailableResponse>(BIKESAVAILABLE)));
|
||||
|
||||
var provider = new CopriProviderHttps(
|
||||
new Uri("http://1.2.3.4"),
|
||||
"123",
|
||||
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)),
|
||||
null /*UI language */,
|
||||
cacheServer: cache,
|
||||
httpsServer: https);
|
||||
|
||||
var bikes = await provider.GetBikesAvailable();
|
||||
|
||||
Assert.AreEqual(1, bikes.Response.bikes.Count);
|
||||
Assert.AreEqual(typeof(CopriCallsHttps).Name, bikes.Source.Name);
|
||||
Assert.IsNull(bikes.Exception);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task TestGetBikesAvailable_Exception()
|
||||
{
|
||||
var cache = Substitute.For<ICopriCache>();
|
||||
var https = Substitute.For<ICopriServer>();
|
||||
|
||||
cache.IsBikesAvailableExpired.Returns(true);
|
||||
cache.GetBikesAvailableAsync().Returns(Task.Run(() => JsonConvert.DeserializeObject<BikesAvailableResponse>(BIKESAVAILABLE)));
|
||||
https.GetBikesAvailableAsync().Returns<BikesAvailableResponse>(x => { throw new WebConnectFailureException("Bang...", new Exception()); });
|
||||
|
||||
var provider = new CopriProviderHttps(
|
||||
new Uri("http://1.2.3.4"),
|
||||
"123",
|
||||
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)),
|
||||
null /*UI language */,
|
||||
cacheServer: cache,
|
||||
httpsServer: https);
|
||||
|
||||
var bikes = await provider.GetBikesAvailable();
|
||||
|
||||
Assert.AreEqual(1, bikes.Response.bikes.Count);
|
||||
Assert.AreEqual(typeof(CopriCallsMonkeyStore).Name, bikes.Source.Name);
|
||||
Assert.AreEqual("Bang...", bikes.Exception.Message);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task TestGetBikesOccupied_NotExpired()
|
||||
{
|
||||
var cache = Substitute.For<ICopriCache>();
|
||||
var https = Substitute.For<ICopriServer>();
|
||||
|
||||
cache.IsBikesOccupiedExpired.Returns(false);
|
||||
cache.GetBikesOccupiedAsync().Returns(Task.Run(() => JsonConvert.DeserializeObject<BikesReservedOccupiedResponse>(BIKESOCCUPIED)));
|
||||
|
||||
var provider = new CopriProviderHttps(
|
||||
new Uri("http://1.2.3.4"),
|
||||
"12345678", // Merchant id
|
||||
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)), // User agent
|
||||
null /*UI language */,
|
||||
"f782a208d9399291ba8d086b5dcc2509", // Auth cookie
|
||||
cacheServer: cache,
|
||||
httpsServer: https);
|
||||
|
||||
var bikes = await provider.GetBikesOccupied();
|
||||
|
||||
Assert.AreEqual(1, bikes.Response.bikes_occupied.Count);
|
||||
Assert.AreEqual(typeof(CopriCallsMonkeyStore).Name, bikes.Source.Name);
|
||||
Assert.IsNull(bikes.Exception);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task TestGetBikesOccupied_ExpiredForceCache()
|
||||
{
|
||||
var cache = Substitute.For<ICopriCache>();
|
||||
var https = Substitute.For<ICopriServer>();
|
||||
|
||||
cache.IsBikesOccupiedExpired.Returns(true);
|
||||
cache.GetBikesOccupiedAsync().Returns(Task.Run(() => JsonConvert.DeserializeObject<BikesReservedOccupiedResponse>(BIKESOCCUPIED)));
|
||||
|
||||
var provider = new CopriProviderHttps(
|
||||
new Uri("http://1.2.3.4"),
|
||||
"12345678", // Merchant id
|
||||
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)), // User agent
|
||||
null /*UI language */,
|
||||
"f782a208d9399291ba8d086b5dcc2509", // Auth cookie
|
||||
cacheServer: cache,
|
||||
httpsServer: https);
|
||||
|
||||
var bikes = await provider.GetBikesOccupied(true);
|
||||
|
||||
Assert.AreEqual(1, bikes.Response.bikes_occupied.Count);
|
||||
Assert.AreEqual(typeof(CopriCallsMonkeyStore).Name, bikes.Source.Name);
|
||||
Assert.IsNull(bikes.Exception);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task TestGetBikesOccupied_Expired()
|
||||
{
|
||||
var cache = Substitute.For<ICopriCache>();
|
||||
var https = Substitute.For<ICopriServer>();
|
||||
|
||||
cache.IsBikesOccupiedExpired.Returns(true);
|
||||
https.GetBikesOccupiedAsync().Returns(Task.Run(() => JsonConvert.DeserializeObject<BikesReservedOccupiedResponse>(BIKESOCCUPIED)));
|
||||
|
||||
var provider = new CopriProviderHttps(
|
||||
new Uri("http://1.2.3.4"),
|
||||
"12345678", // Merchant id
|
||||
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)), // User agent
|
||||
null /*UI language */,
|
||||
"f782a208d9399291ba8d086b5dcc2509", // Auth cookie
|
||||
cacheServer: cache,
|
||||
httpsServer: https);
|
||||
|
||||
var bikes = await provider.GetBikesOccupied();
|
||||
|
||||
Assert.AreEqual(1, bikes.Response.bikes_occupied.Count);
|
||||
Assert.AreEqual(typeof(CopriCallsHttps).Name, bikes.Source.Name);
|
||||
Assert.IsNull(bikes.Exception);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task TestGetBikesOccupied_Exception()
|
||||
{
|
||||
var cache = Substitute.For<ICopriCache>();
|
||||
var https = Substitute.For<ICopriServer>();
|
||||
|
||||
cache.IsBikesOccupiedExpired.Returns(true);
|
||||
cache.GetBikesOccupiedAsync().Returns(Task.Run(() => JsonConvert.DeserializeObject<BikesReservedOccupiedResponse>(BIKESOCCUPIED)));
|
||||
https.GetBikesOccupiedAsync().Returns<BikesReservedOccupiedResponse>(x => { throw new WebConnectFailureException("Bang...", new Exception()); });
|
||||
|
||||
var provider = new CopriProviderHttps(
|
||||
new Uri("http://1.2.3.4"),
|
||||
"12345678", // Merchant id
|
||||
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)), // User agent
|
||||
null /*UI language */,
|
||||
"f782a208d9399291ba8d086b5dcc2509", // Auth cookie
|
||||
cacheServer: cache,
|
||||
httpsServer: https);
|
||||
|
||||
var bikes = await provider.GetBikesOccupied();
|
||||
|
||||
Assert.AreEqual(1, bikes.Response.bikes_occupied.Count);
|
||||
Assert.AreEqual(typeof(CopriCallsMonkeyStore).Name, bikes.Source.Name);
|
||||
Assert.AreEqual("Bang...", bikes.Exception.Message);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task TestGetStations_NotExpired()
|
||||
{
|
||||
var cache = Substitute.For<ICopriCache>();
|
||||
var https = Substitute.For<ICopriServer>();
|
||||
|
||||
cache.IsStationsExpired.Returns(false);
|
||||
cache.GetStationsAsync().Returns(Task.Run(() => JsonConvert.DeserializeObject<StationsAvailableResponse>(STATIONSALL)));
|
||||
|
||||
var provider = new CopriProviderHttps(
|
||||
new Uri("http://1.2.3.4"),
|
||||
"123", // Merchant id
|
||||
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)), // User agent
|
||||
null /*UI language */,
|
||||
"456", // cookie
|
||||
cacheServer: cache,
|
||||
httpsServer: https);
|
||||
|
||||
var stations = await provider.GetStations();
|
||||
|
||||
Assert.AreEqual(3, stations.Response.stations.Count);
|
||||
Assert.AreEqual(typeof(CopriCallsMonkeyStore).Name, stations.Source.Name);
|
||||
Assert.IsNull(stations.Exception);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task TestGetStations_ExpiredForceCache()
|
||||
{
|
||||
var cache = Substitute.For<ICopriCache>();
|
||||
var https = Substitute.For<ICopriServer>();
|
||||
|
||||
cache.IsStationsExpired.Returns(true);
|
||||
cache.GetStationsAsync().Returns(Task.Run(() => JsonConvert.DeserializeObject<StationsAvailableResponse>(STATIONSALL)));
|
||||
|
||||
var provider = new CopriProviderHttps(
|
||||
new Uri("http://1.2.3.4"),
|
||||
"123",
|
||||
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)),
|
||||
null /*UI language */,
|
||||
cacheServer: cache,
|
||||
httpsServer: https);
|
||||
|
||||
var stations = await provider.GetStations(true);
|
||||
|
||||
Assert.AreEqual(3, stations.Response.stations.Count);
|
||||
Assert.AreEqual(typeof(CopriCallsMonkeyStore).Name, stations.Source.Name);
|
||||
Assert.IsNull(stations.Exception);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task TestGetStations_Expired()
|
||||
{
|
||||
var cache = Substitute.For<ICopriCache>();
|
||||
var https = Substitute.For<ICopriServer>();
|
||||
|
||||
cache.IsStationsExpired.Returns(true);
|
||||
https.GetStationsAsync().Returns(Task.Run(() => JsonConvert.DeserializeObject<StationsAvailableResponse>(STATIONSALL)));
|
||||
|
||||
var provider = new CopriProviderHttps(
|
||||
new Uri("http://1.2.3.4"),
|
||||
"123",
|
||||
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)),
|
||||
null /*UI language */,
|
||||
cacheServer: cache,
|
||||
httpsServer: https);
|
||||
|
||||
var stations = await provider.GetStations();
|
||||
|
||||
Assert.AreEqual(3, stations.Response.stations.Count);
|
||||
Assert.AreEqual(typeof(CopriCallsHttps).Name, stations.Source.Name);
|
||||
Assert.IsNull(stations.Exception);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task TestGetStations_Exception()
|
||||
{
|
||||
var cache = Substitute.For<ICopriCache>();
|
||||
var https = Substitute.For<ICopriServer>();
|
||||
|
||||
cache.IsStationsExpired.Returns(true);
|
||||
cache.GetStationsAsync().Returns(Task.Run(() => JsonConvert.DeserializeObject<StationsAvailableResponse>(STATIONSALL)));
|
||||
https.GetStationsAsync().Returns<StationsAvailableResponse>(x => { throw new WebConnectFailureException("Bang...", new Exception()); });
|
||||
|
||||
var provider = new CopriProviderHttps(
|
||||
new Uri("http://1.2.3.4"),
|
||||
"123",
|
||||
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)),
|
||||
null /*UI language */,
|
||||
cacheServer: cache,
|
||||
httpsServer: https);
|
||||
|
||||
var stations = await provider.GetStations();
|
||||
|
||||
Assert.AreEqual(3, stations.Response.stations.Count);
|
||||
Assert.AreEqual(typeof(CopriCallsMonkeyStore).Name, stations.Source.Name);
|
||||
Assert.AreEqual("Bang...", stations.Exception.Message);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task Test_AddToCache_Stations()
|
||||
{
|
||||
if (string.IsNullOrEmpty(Barrel.ApplicationId))
|
||||
{
|
||||
Barrel.ApplicationId = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name;
|
||||
}
|
||||
|
||||
var provider = new CopriProviderHttps(
|
||||
new Uri("http://1.2.3.4"),
|
||||
"123456789",
|
||||
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)),
|
||||
null /*UI language */);
|
||||
|
||||
var stations = await provider.GetStations(true);
|
||||
Assert.AreEqual(0, stations.Response.stations.Count);
|
||||
|
||||
try
|
||||
{
|
||||
// Do not add if an excption occurred
|
||||
provider.AddToCache(new Result<StationsAvailableResponse>(typeof(CopriCallsHttps), JsonConvert.DeserializeObject<StationsAvailableResponse>(STATIONSALL), new GeneralData(), new Exception("Bang...")));
|
||||
stations = await provider.GetStations(true);
|
||||
Assert.AreEqual(0, stations.Response.stations.Count);
|
||||
|
||||
// Do not add if results from cache
|
||||
provider.AddToCache(new Result<StationsAvailableResponse>(typeof(CopriCallsMonkeyStore), JsonConvert.DeserializeObject<StationsAvailableResponse>(STATIONSALL), new GeneralData()));
|
||||
stations = await provider.GetStations(true);
|
||||
Assert.AreEqual(0, stations.Response.stations.Count);
|
||||
|
||||
// Add result
|
||||
provider.AddToCache(new Result<StationsAvailableResponse>(typeof(CopriCallsHttps), JsonConvert.DeserializeObject<StationsAvailableResponse>(STATIONSALL), new GeneralData()));
|
||||
stations = await provider.GetStations(true);
|
||||
Assert.AreEqual(3, stations.Response.stations.Count);
|
||||
}
|
||||
finally
|
||||
{
|
||||
Barrel.Current.EmptyAll();
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task Test_AddToCache_BikesAvailable()
|
||||
{
|
||||
if (string.IsNullOrEmpty(Barrel.ApplicationId))
|
||||
{
|
||||
Barrel.ApplicationId = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name;
|
||||
}
|
||||
|
||||
var provider = new CopriProviderHttps(
|
||||
new Uri("http://1.2.3.4"),
|
||||
"123456789",
|
||||
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)),
|
||||
null /*UI language */);
|
||||
|
||||
var bikes = await provider.GetBikesAvailable(true);
|
||||
Assert.AreEqual(0, bikes.Response.bikes.Count);
|
||||
|
||||
try
|
||||
{
|
||||
// Do not add if an excption occurred
|
||||
provider.AddToCache(new Result<BikesAvailableResponse>(typeof(CopriCallsHttps), JsonConvert.DeserializeObject<BikesAvailableResponse>(BIKESAVAILABLE), new GeneralData(), new 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()));
|
||||
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()));
|
||||
bikes = await provider.GetBikesAvailable(true);
|
||||
Assert.AreEqual(1, bikes.Response.bikes.Count);
|
||||
}
|
||||
finally
|
||||
{
|
||||
Barrel.Current.EmptyAll();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[Test]
|
||||
public async Task Test_AddToCache_BikesOccupied()
|
||||
{
|
||||
if (string.IsNullOrEmpty(Barrel.ApplicationId))
|
||||
{
|
||||
Barrel.ApplicationId = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name;
|
||||
}
|
||||
|
||||
var provider = new CopriProviderHttps(
|
||||
new Uri("http://1.2.3.4"),
|
||||
"123456789",
|
||||
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)), // User agent
|
||||
null /* langugage */,
|
||||
"876");
|
||||
|
||||
var bikes = await provider.GetBikesOccupied(true);
|
||||
Assert.AreEqual(0, bikes.Response.bikes_occupied.Count);
|
||||
|
||||
try
|
||||
{
|
||||
// Do not add if an excption occurred
|
||||
provider.AddToCache(new Result<BikesReservedOccupiedResponse>(typeof(CopriCallsHttps), JsonConvert.DeserializeObject<BikesReservedOccupiedResponse>(BIKESOCCUPIED), new GeneralData(), new Exception("Bang...")));
|
||||
bikes = await provider.GetBikesOccupied(true);
|
||||
Assert.AreEqual(0, bikes.Response.bikes_occupied.Count);
|
||||
|
||||
// Do not add if results from cache
|
||||
provider.AddToCache(new Result<BikesReservedOccupiedResponse>(typeof(CopriCallsMonkeyStore), JsonConvert.DeserializeObject<BikesReservedOccupiedResponse>(BIKESOCCUPIED), new GeneralData()));
|
||||
bikes = await provider.GetBikesOccupied(true);
|
||||
Assert.AreEqual(0, bikes.Response.bikes_occupied.Count);
|
||||
|
||||
// Add result
|
||||
provider.AddToCache(new Result<BikesReservedOccupiedResponse>(typeof(CopriCallsHttps), JsonConvert.DeserializeObject<BikesReservedOccupiedResponse>(BIKESOCCUPIED), new GeneralData()));
|
||||
bikes = await provider.GetBikesOccupied(true);
|
||||
Assert.AreEqual(1, bikes.Response.bikes_occupied.Count);
|
||||
}
|
||||
finally
|
||||
{
|
||||
Barrel.Current.EmptyAll();
|
||||
}
|
||||
}
|
||||
}
|
||||
[Test]
|
||||
public async Task TestGetBikesAvailable_NotExpired()
|
||||
{
|
||||
var cache = Substitute.For<ICopriCache>();
|
||||
var https = Substitute.For<ICopriServer>();
|
||||
|
||||
cache.IsBikesAvailableExpired.Returns(false);
|
||||
cache.GetBikesAvailableAsync().Returns(Task.Run(() => JsonConvert.DeserializeObject<BikesAvailableResponse>(BIKESAVAILABLE)));
|
||||
|
||||
var provider = new CopriProviderHttps(
|
||||
new Uri("http://1.2.3.4"),
|
||||
"123", // Merchant id
|
||||
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)), // User agent
|
||||
null /*UI language */,
|
||||
"456", // cookie
|
||||
cacheServer: cache,
|
||||
httpsServer: https);
|
||||
|
||||
var bikes = await provider.GetBikesAvailable();
|
||||
|
||||
Assert.AreEqual(1, bikes.Response.bikes.Count);
|
||||
Assert.AreEqual(typeof(CopriCallsMonkeyStore).Name, bikes.Source.Name);
|
||||
Assert.IsNull(bikes.Exception);
|
||||
}
|
||||
|
||||
|
||||
[Test]
|
||||
public async Task TestGetBikesAvailable_ExpiredForceCache()
|
||||
{
|
||||
var cache = Substitute.For<ICopriCache>();
|
||||
var https = Substitute.For<ICopriServer>();
|
||||
|
||||
cache.IsBikesAvailableExpired.Returns(true);
|
||||
cache.GetBikesAvailableAsync().Returns(Task.Run(() => JsonConvert.DeserializeObject<BikesAvailableResponse>(BIKESAVAILABLE)));
|
||||
|
||||
var provider = new CopriProviderHttps(
|
||||
new Uri("http://1.2.3.4"),
|
||||
"123",
|
||||
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)),
|
||||
null /*UI language */,
|
||||
cacheServer: cache,
|
||||
httpsServer: https);
|
||||
|
||||
var bikes = await provider.GetBikesAvailable(true);
|
||||
|
||||
Assert.AreEqual(1, bikes.Response.bikes.Count);
|
||||
Assert.AreEqual(typeof(CopriCallsMonkeyStore).Name, bikes.Source.Name);
|
||||
Assert.IsNull(bikes.Exception);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task TestGetBikesAvailable_Expired()
|
||||
{
|
||||
var cache = Substitute.For<ICopriCache>();
|
||||
var https = Substitute.For<ICopriServer>();
|
||||
|
||||
cache.IsBikesAvailableExpired.Returns(true);
|
||||
https.GetBikesAvailableAsync().Returns(Task.Run(() => JsonConvert.DeserializeObject<BikesAvailableResponse>(BIKESAVAILABLE)));
|
||||
|
||||
var provider = new CopriProviderHttps(
|
||||
new Uri("http://1.2.3.4"),
|
||||
"123",
|
||||
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)),
|
||||
null /*UI language */,
|
||||
cacheServer: cache,
|
||||
httpsServer: https);
|
||||
|
||||
var bikes = await provider.GetBikesAvailable();
|
||||
|
||||
Assert.AreEqual(1, bikes.Response.bikes.Count);
|
||||
Assert.AreEqual(typeof(CopriCallsHttps).Name, bikes.Source.Name);
|
||||
Assert.IsNull(bikes.Exception);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task TestGetBikesAvailable_Exception()
|
||||
{
|
||||
var cache = Substitute.For<ICopriCache>();
|
||||
var https = Substitute.For<ICopriServer>();
|
||||
|
||||
cache.IsBikesAvailableExpired.Returns(true);
|
||||
cache.GetBikesAvailableAsync().Returns(Task.Run(() => JsonConvert.DeserializeObject<BikesAvailableResponse>(BIKESAVAILABLE)));
|
||||
https.GetBikesAvailableAsync().Returns<BikesAvailableResponse>(x => { throw new WebConnectFailureException("Bang...", new Exception()); });
|
||||
|
||||
var provider = new CopriProviderHttps(
|
||||
new Uri("http://1.2.3.4"),
|
||||
"123",
|
||||
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)),
|
||||
null /*UI language */,
|
||||
cacheServer: cache,
|
||||
httpsServer: https);
|
||||
|
||||
var bikes = await provider.GetBikesAvailable();
|
||||
|
||||
Assert.AreEqual(1, bikes.Response.bikes.Count);
|
||||
Assert.AreEqual(typeof(CopriCallsMonkeyStore).Name, bikes.Source.Name);
|
||||
Assert.AreEqual("Bang...", bikes.Exception.Message);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task TestGetBikesOccupied_NotExpired()
|
||||
{
|
||||
var cache = Substitute.For<ICopriCache>();
|
||||
var https = Substitute.For<ICopriServer>();
|
||||
|
||||
cache.IsBikesOccupiedExpired.Returns(false);
|
||||
cache.GetBikesOccupiedAsync().Returns(Task.Run(() => JsonConvert.DeserializeObject<BikesReservedOccupiedResponse>(BIKESOCCUPIED)));
|
||||
|
||||
var provider = new CopriProviderHttps(
|
||||
new Uri("http://1.2.3.4"),
|
||||
"12345678", // Merchant id
|
||||
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)), // User agent
|
||||
null /*UI language */,
|
||||
"f782a208d9399291ba8d086b5dcc2509", // Auth cookie
|
||||
cacheServer: cache,
|
||||
httpsServer: https);
|
||||
|
||||
var bikes = await provider.GetBikesOccupied();
|
||||
|
||||
Assert.AreEqual(1, bikes.Response.bikes_occupied.Count);
|
||||
Assert.AreEqual(typeof(CopriCallsMonkeyStore).Name, bikes.Source.Name);
|
||||
Assert.IsNull(bikes.Exception);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task TestGetBikesOccupied_ExpiredForceCache()
|
||||
{
|
||||
var cache = Substitute.For<ICopriCache>();
|
||||
var https = Substitute.For<ICopriServer>();
|
||||
|
||||
cache.IsBikesOccupiedExpired.Returns(true);
|
||||
cache.GetBikesOccupiedAsync().Returns(Task.Run(() => JsonConvert.DeserializeObject<BikesReservedOccupiedResponse>(BIKESOCCUPIED)));
|
||||
|
||||
var provider = new CopriProviderHttps(
|
||||
new Uri("http://1.2.3.4"),
|
||||
"12345678", // Merchant id
|
||||
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)), // User agent
|
||||
null /*UI language */,
|
||||
"f782a208d9399291ba8d086b5dcc2509", // Auth cookie
|
||||
cacheServer: cache,
|
||||
httpsServer: https);
|
||||
|
||||
var bikes = await provider.GetBikesOccupied(true);
|
||||
|
||||
Assert.AreEqual(1, bikes.Response.bikes_occupied.Count);
|
||||
Assert.AreEqual(typeof(CopriCallsMonkeyStore).Name, bikes.Source.Name);
|
||||
Assert.IsNull(bikes.Exception);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task TestGetBikesOccupied_Expired()
|
||||
{
|
||||
var cache = Substitute.For<ICopriCache>();
|
||||
var https = Substitute.For<ICopriServer>();
|
||||
|
||||
cache.IsBikesOccupiedExpired.Returns(true);
|
||||
https.GetBikesOccupiedAsync().Returns(Task.Run(() => JsonConvert.DeserializeObject<BikesReservedOccupiedResponse>(BIKESOCCUPIED)));
|
||||
|
||||
var provider = new CopriProviderHttps(
|
||||
new Uri("http://1.2.3.4"),
|
||||
"12345678", // Merchant id
|
||||
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)), // User agent
|
||||
null /*UI language */,
|
||||
"f782a208d9399291ba8d086b5dcc2509", // Auth cookie
|
||||
cacheServer: cache,
|
||||
httpsServer: https);
|
||||
|
||||
var bikes = await provider.GetBikesOccupied();
|
||||
|
||||
Assert.AreEqual(1, bikes.Response.bikes_occupied.Count);
|
||||
Assert.AreEqual(typeof(CopriCallsHttps).Name, bikes.Source.Name);
|
||||
Assert.IsNull(bikes.Exception);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task TestGetBikesOccupied_Exception()
|
||||
{
|
||||
var cache = Substitute.For<ICopriCache>();
|
||||
var https = Substitute.For<ICopriServer>();
|
||||
|
||||
cache.IsBikesOccupiedExpired.Returns(true);
|
||||
cache.GetBikesOccupiedAsync().Returns(Task.Run(() => JsonConvert.DeserializeObject<BikesReservedOccupiedResponse>(BIKESOCCUPIED)));
|
||||
https.GetBikesOccupiedAsync().Returns<BikesReservedOccupiedResponse>(x => { throw new WebConnectFailureException("Bang...", new Exception()); });
|
||||
|
||||
var provider = new CopriProviderHttps(
|
||||
new Uri("http://1.2.3.4"),
|
||||
"12345678", // Merchant id
|
||||
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)), // User agent
|
||||
null /*UI language */,
|
||||
"f782a208d9399291ba8d086b5dcc2509", // Auth cookie
|
||||
cacheServer: cache,
|
||||
httpsServer: https);
|
||||
|
||||
var bikes = await provider.GetBikesOccupied();
|
||||
|
||||
Assert.AreEqual(1, bikes.Response.bikes_occupied.Count);
|
||||
Assert.AreEqual(typeof(CopriCallsMonkeyStore).Name, bikes.Source.Name);
|
||||
Assert.AreEqual("Bang...", bikes.Exception.Message);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task TestGetStations_NotExpired()
|
||||
{
|
||||
var cache = Substitute.For<ICopriCache>();
|
||||
var https = Substitute.For<ICopriServer>();
|
||||
|
||||
cache.IsStationsExpired.Returns(false);
|
||||
cache.GetStationsAsync().Returns(Task.Run(() => JsonConvert.DeserializeObject<StationsAvailableResponse>(STATIONSALL)));
|
||||
|
||||
var provider = new CopriProviderHttps(
|
||||
new Uri("http://1.2.3.4"),
|
||||
"123", // Merchant id
|
||||
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)), // User agent
|
||||
null /*UI language */,
|
||||
"456", // cookie
|
||||
cacheServer: cache,
|
||||
httpsServer: https);
|
||||
|
||||
var stations = await provider.GetStations();
|
||||
|
||||
Assert.AreEqual(3, stations.Response.stations.Count);
|
||||
Assert.AreEqual(typeof(CopriCallsMonkeyStore).Name, stations.Source.Name);
|
||||
Assert.IsNull(stations.Exception);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task TestGetStations_ExpiredForceCache()
|
||||
{
|
||||
var cache = Substitute.For<ICopriCache>();
|
||||
var https = Substitute.For<ICopriServer>();
|
||||
|
||||
cache.IsStationsExpired.Returns(true);
|
||||
cache.GetStationsAsync().Returns(Task.Run(() => JsonConvert.DeserializeObject<StationsAvailableResponse>(STATIONSALL)));
|
||||
|
||||
var provider = new CopriProviderHttps(
|
||||
new Uri("http://1.2.3.4"),
|
||||
"123",
|
||||
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)),
|
||||
null /*UI language */,
|
||||
cacheServer: cache,
|
||||
httpsServer: https);
|
||||
|
||||
var stations = await provider.GetStations(true);
|
||||
|
||||
Assert.AreEqual(3, stations.Response.stations.Count);
|
||||
Assert.AreEqual(typeof(CopriCallsMonkeyStore).Name, stations.Source.Name);
|
||||
Assert.IsNull(stations.Exception);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task TestGetStations_Expired()
|
||||
{
|
||||
var cache = Substitute.For<ICopriCache>();
|
||||
var https = Substitute.For<ICopriServer>();
|
||||
|
||||
cache.IsStationsExpired.Returns(true);
|
||||
https.GetStationsAsync().Returns(Task.Run(() => JsonConvert.DeserializeObject<StationsAvailableResponse>(STATIONSALL)));
|
||||
|
||||
var provider = new CopriProviderHttps(
|
||||
new Uri("http://1.2.3.4"),
|
||||
"123",
|
||||
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)),
|
||||
null /*UI language */,
|
||||
cacheServer: cache,
|
||||
httpsServer: https);
|
||||
|
||||
var stations = await provider.GetStations();
|
||||
|
||||
Assert.AreEqual(3, stations.Response.stations.Count);
|
||||
Assert.AreEqual(typeof(CopriCallsHttps).Name, stations.Source.Name);
|
||||
Assert.IsNull(stations.Exception);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task TestGetStations_Exception()
|
||||
{
|
||||
var cache = Substitute.For<ICopriCache>();
|
||||
var https = Substitute.For<ICopriServer>();
|
||||
|
||||
cache.IsStationsExpired.Returns(true);
|
||||
cache.GetStationsAsync().Returns(Task.Run(() => JsonConvert.DeserializeObject<StationsAvailableResponse>(STATIONSALL)));
|
||||
https.GetStationsAsync().Returns<StationsAvailableResponse>(x => { throw new WebConnectFailureException("Bang...", new Exception()); });
|
||||
|
||||
var provider = new CopriProviderHttps(
|
||||
new Uri("http://1.2.3.4"),
|
||||
"123",
|
||||
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)),
|
||||
null /*UI language */,
|
||||
cacheServer: cache,
|
||||
httpsServer: https);
|
||||
|
||||
var stations = await provider.GetStations();
|
||||
|
||||
Assert.AreEqual(3, stations.Response.stations.Count);
|
||||
Assert.AreEqual(typeof(CopriCallsMonkeyStore).Name, stations.Source.Name);
|
||||
Assert.AreEqual("Bang...", stations.Exception.Message);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task Test_AddToCache_Stations()
|
||||
{
|
||||
if (string.IsNullOrEmpty(Barrel.ApplicationId))
|
||||
{
|
||||
Barrel.ApplicationId = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name;
|
||||
}
|
||||
|
||||
var provider = new CopriProviderHttps(
|
||||
new Uri("http://1.2.3.4"),
|
||||
"123456789",
|
||||
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)),
|
||||
null /*UI language */);
|
||||
|
||||
var stations = await provider.GetStations(true);
|
||||
Assert.AreEqual(0, stations.Response.stations.Count);
|
||||
|
||||
try
|
||||
{
|
||||
// Do not add if an excption occurred
|
||||
provider.AddToCache(new Result<StationsAvailableResponse>(typeof(CopriCallsHttps), JsonConvert.DeserializeObject<StationsAvailableResponse>(STATIONSALL), new GeneralData(), new Exception("Bang...")));
|
||||
stations = await provider.GetStations(true);
|
||||
Assert.AreEqual(0, stations.Response.stations.Count);
|
||||
|
||||
// Do not add if results from cache
|
||||
provider.AddToCache(new Result<StationsAvailableResponse>(typeof(CopriCallsMonkeyStore), JsonConvert.DeserializeObject<StationsAvailableResponse>(STATIONSALL), new GeneralData()));
|
||||
stations = await provider.GetStations(true);
|
||||
Assert.AreEqual(0, stations.Response.stations.Count);
|
||||
|
||||
// Add result
|
||||
provider.AddToCache(new Result<StationsAvailableResponse>(typeof(CopriCallsHttps), JsonConvert.DeserializeObject<StationsAvailableResponse>(STATIONSALL), new GeneralData()));
|
||||
stations = await provider.GetStations(true);
|
||||
Assert.AreEqual(3, stations.Response.stations.Count);
|
||||
}
|
||||
finally
|
||||
{
|
||||
Barrel.Current.EmptyAll();
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task Test_AddToCache_BikesAvailable()
|
||||
{
|
||||
if (string.IsNullOrEmpty(Barrel.ApplicationId))
|
||||
{
|
||||
Barrel.ApplicationId = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name;
|
||||
}
|
||||
|
||||
var provider = new CopriProviderHttps(
|
||||
new Uri("http://1.2.3.4"),
|
||||
"123456789",
|
||||
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)),
|
||||
null /*UI language */);
|
||||
|
||||
var bikes = await provider.GetBikesAvailable(true);
|
||||
Assert.AreEqual(0, bikes.Response.bikes.Count);
|
||||
|
||||
try
|
||||
{
|
||||
// Do not add if an excption occurred
|
||||
provider.AddToCache(new Result<BikesAvailableResponse>(typeof(CopriCallsHttps), JsonConvert.DeserializeObject<BikesAvailableResponse>(BIKESAVAILABLE), new GeneralData(), new 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()));
|
||||
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()));
|
||||
bikes = await provider.GetBikesAvailable(true);
|
||||
Assert.AreEqual(1, bikes.Response.bikes.Count);
|
||||
}
|
||||
finally
|
||||
{
|
||||
Barrel.Current.EmptyAll();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[Test]
|
||||
public async Task Test_AddToCache_BikesOccupied()
|
||||
{
|
||||
if (string.IsNullOrEmpty(Barrel.ApplicationId))
|
||||
{
|
||||
Barrel.ApplicationId = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name;
|
||||
}
|
||||
|
||||
var provider = new CopriProviderHttps(
|
||||
new Uri("http://1.2.3.4"),
|
||||
"123456789",
|
||||
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)), // User agent
|
||||
null /* langugage */,
|
||||
"876");
|
||||
|
||||
var bikes = await provider.GetBikesOccupied(true);
|
||||
Assert.AreEqual(0, bikes.Response.bikes_occupied.Count);
|
||||
|
||||
try
|
||||
{
|
||||
// Do not add if an excption occurred
|
||||
provider.AddToCache(new Result<BikesReservedOccupiedResponse>(typeof(CopriCallsHttps), JsonConvert.DeserializeObject<BikesReservedOccupiedResponse>(BIKESOCCUPIED), new GeneralData(), new Exception("Bang...")));
|
||||
bikes = await provider.GetBikesOccupied(true);
|
||||
Assert.AreEqual(0, bikes.Response.bikes_occupied.Count);
|
||||
|
||||
// Do not add if results from cache
|
||||
provider.AddToCache(new Result<BikesReservedOccupiedResponse>(typeof(CopriCallsMonkeyStore), JsonConvert.DeserializeObject<BikesReservedOccupiedResponse>(BIKESOCCUPIED), new GeneralData()));
|
||||
bikes = await provider.GetBikesOccupied(true);
|
||||
Assert.AreEqual(0, bikes.Response.bikes_occupied.Count);
|
||||
|
||||
// Add result
|
||||
provider.AddToCache(new Result<BikesReservedOccupiedResponse>(typeof(CopriCallsHttps), JsonConvert.DeserializeObject<BikesReservedOccupiedResponse>(BIKESOCCUPIED), new GeneralData()));
|
||||
bikes = await provider.GetBikesOccupied(true);
|
||||
Assert.AreEqual(1, bikes.Response.bikes_occupied.Count);
|
||||
}
|
||||
finally
|
||||
{
|
||||
Barrel.Current.EmptyAll();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -6,36 +6,36 @@ using TINK.Repository.Response;
|
|||
|
||||
namespace TestShareeLib.Model.Connector.Updater
|
||||
{
|
||||
[TestFixture]
|
||||
public class TestBookingFinishedModelFactory
|
||||
{
|
||||
/// <summary>
|
||||
/// COPRI response shortened, part not belonging to user_miniquery discarded.
|
||||
/// </summary>
|
||||
[Test]
|
||||
public void TestCreateMiniSurvey_Co2Saving()
|
||||
{
|
||||
var response = JsonConvert.DeserializeObject<ResponseContainer<DoReturnResponse>>(@"
|
||||
[TestFixture]
|
||||
public class TestBookingFinishedModelFactory
|
||||
{
|
||||
/// <summary>
|
||||
/// COPRI response shortened, part not belonging to user_miniquery discarded.
|
||||
/// </summary>
|
||||
[Test]
|
||||
public void TestCreateMiniSurvey_Co2Saving()
|
||||
{
|
||||
var response = JsonConvert.DeserializeObject<ResponseContainer<DoReturnResponse>>(@"
|
||||
{
|
||||
""shareejson"" : {
|
||||
""co2saving"" : ""Einsparung: 1,95 kg CO2 und 3,00 EUR bei einer Strecke von 10 KM""
|
||||
}
|
||||
}");
|
||||
|
||||
var bookingFinshed = response.shareejson.Create();
|
||||
var bookingFinshed = response.shareejson.Create();
|
||||
|
||||
Assert.That(
|
||||
bookingFinshed.Co2Saving,
|
||||
Is.EqualTo("Einsparung: 1,95 kg CO2 und 3,00 EUR bei einer Strecke von 10 KM"));
|
||||
Assert.That(
|
||||
bookingFinshed.Co2Saving,
|
||||
Is.EqualTo("Einsparung: 1,95 kg CO2 und 3,00 EUR bei einer Strecke von 10 KM"));
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// COPRI response shortened, part not belonging to user_miniquery discarded.
|
||||
/// </summary>
|
||||
[Test]
|
||||
public void TestCreateMiniSurvey()
|
||||
{
|
||||
var response = JsonConvert.DeserializeObject<ResponseContainer<DoReturnResponse>>(@"
|
||||
}
|
||||
/// <summary>
|
||||
/// COPRI response shortened, part not belonging to user_miniquery discarded.
|
||||
/// </summary>
|
||||
[Test]
|
||||
public void TestCreateMiniSurvey()
|
||||
{
|
||||
var response = JsonConvert.DeserializeObject<ResponseContainer<DoReturnResponse>>(@"
|
||||
{
|
||||
""shareejson"" : {
|
||||
""user_miniquery"" : {
|
||||
|
@ -82,36 +82,36 @@ namespace TestShareeLib.Model.Connector.Updater
|
|||
|
||||
");
|
||||
|
||||
var bookingFinished = response.shareejson.Create();
|
||||
var bookingFinished = response.shareejson.Create();
|
||||
|
||||
Assert.That(
|
||||
bookingFinished,
|
||||
Is.Not.Null);
|
||||
Assert.That(
|
||||
bookingFinished,
|
||||
Is.Not.Null);
|
||||
|
||||
Assert.That(
|
||||
bookingFinished.MiniSurvey.Title,
|
||||
Is.EqualTo("Bitte unterstützen Sie unsere Begleitforschung"));
|
||||
Assert.That(
|
||||
bookingFinished.MiniSurvey.Title,
|
||||
Is.EqualTo("Bitte unterstützen Sie unsere Begleitforschung"));
|
||||
|
||||
Assert.That(
|
||||
bookingFinished.MiniSurvey.Subtitle,
|
||||
Is.EqualTo("Ihre drei Antworten werden anonym gespeichert."));
|
||||
Assert.That(
|
||||
bookingFinished.MiniSurvey.Subtitle,
|
||||
Is.EqualTo("Ihre drei Antworten werden anonym gespeichert."));
|
||||
|
||||
Assert.That(
|
||||
bookingFinished.MiniSurvey.Footer,
|
||||
Is.EqualTo("Herzlichen Dank und viel Spaß bei der nächsten Fahrt!"));
|
||||
Assert.That(
|
||||
bookingFinished.MiniSurvey.Footer,
|
||||
Is.EqualTo("Herzlichen Dank und viel Spaß bei der nächsten Fahrt!"));
|
||||
|
||||
Assert.That(
|
||||
bookingFinished.MiniSurvey.Questions.Count,
|
||||
Is.EqualTo(3));
|
||||
}
|
||||
Assert.That(
|
||||
bookingFinished.MiniSurvey.Questions.Count,
|
||||
Is.EqualTo(3));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// COPRI response shortened, part not belonging to user_miniquery discarded.
|
||||
/// </summary>
|
||||
[Test]
|
||||
public void TestCreateMiniSurvey_Null()
|
||||
{
|
||||
var response = JsonConvert.DeserializeObject<ResponseContainer<DoReturnResponse>>(@"
|
||||
/// <summary>
|
||||
/// COPRI response shortened, part not belonging to user_miniquery discarded.
|
||||
/// </summary>
|
||||
[Test]
|
||||
public void TestCreateMiniSurvey_Null()
|
||||
{
|
||||
var response = JsonConvert.DeserializeObject<ResponseContainer<DoReturnResponse>>(@"
|
||||
{
|
||||
""shareejson"" : {
|
||||
}
|
||||
|
@ -119,36 +119,36 @@ namespace TestShareeLib.Model.Connector.Updater
|
|||
|
||||
");
|
||||
|
||||
var bookingFinshed = response.shareejson.Create();
|
||||
var bookingFinshed = response.shareejson.Create();
|
||||
|
||||
Assert.That(
|
||||
bookingFinshed,
|
||||
Is.Not.Null);
|
||||
Assert.That(
|
||||
bookingFinshed,
|
||||
Is.Not.Null);
|
||||
|
||||
Assert.That(
|
||||
bookingFinshed.MiniSurvey.Questions.Count,
|
||||
Is.EqualTo(0));
|
||||
Assert.That(
|
||||
bookingFinshed.MiniSurvey.Questions.Count,
|
||||
Is.EqualTo(0));
|
||||
|
||||
Assert.That(
|
||||
bookingFinshed.MiniSurvey.Title,
|
||||
Is.Null);
|
||||
Assert.That(
|
||||
bookingFinshed.MiniSurvey.Title,
|
||||
Is.Null);
|
||||
|
||||
Assert.That(
|
||||
bookingFinshed.MiniSurvey.Subtitle,
|
||||
Is.Null);
|
||||
Assert.That(
|
||||
bookingFinshed.MiniSurvey.Subtitle,
|
||||
Is.Null);
|
||||
|
||||
Assert.That(
|
||||
bookingFinshed.MiniSurvey.Footer,
|
||||
Is.Null);
|
||||
}
|
||||
Assert.That(
|
||||
bookingFinshed.MiniSurvey.Footer,
|
||||
Is.Null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// COPRI response shortened, part not belonging to user_miniquery discarded.
|
||||
/// </summary>
|
||||
[Test]
|
||||
public void TestCreateMiniSurvey_EmptyQuery()
|
||||
{
|
||||
var response = JsonConvert.DeserializeObject<ResponseContainer<DoReturnResponse>>(@"
|
||||
/// <summary>
|
||||
/// COPRI response shortened, part not belonging to user_miniquery discarded.
|
||||
/// </summary>
|
||||
[Test]
|
||||
public void TestCreateMiniSurvey_EmptyQuery()
|
||||
{
|
||||
var response = JsonConvert.DeserializeObject<ResponseContainer<DoReturnResponse>>(@"
|
||||
{
|
||||
""shareejson"" : {
|
||||
""user_miniquery"" : {
|
||||
|
@ -158,32 +158,32 @@ namespace TestShareeLib.Model.Connector.Updater
|
|||
|
||||
");
|
||||
|
||||
var bookingFinished = response.shareejson.Create();
|
||||
var bookingFinished = response.shareejson.Create();
|
||||
|
||||
Assert.That(
|
||||
bookingFinished,
|
||||
Is.Not.Null);
|
||||
Assert.That(
|
||||
bookingFinished,
|
||||
Is.Not.Null);
|
||||
|
||||
Assert.That(
|
||||
bookingFinished.MiniSurvey.Title,
|
||||
Is.Null);
|
||||
Assert.That(
|
||||
bookingFinished.MiniSurvey.Title,
|
||||
Is.Null);
|
||||
|
||||
Assert.That(
|
||||
bookingFinished.MiniSurvey.Subtitle,
|
||||
Is.Null);
|
||||
Assert.That(
|
||||
bookingFinished.MiniSurvey.Subtitle,
|
||||
Is.Null);
|
||||
|
||||
Assert.That(
|
||||
bookingFinished.MiniSurvey.Footer,
|
||||
Is.Null);
|
||||
}
|
||||
Assert.That(
|
||||
bookingFinished.MiniSurvey.Footer,
|
||||
Is.Null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// COPRI response shortened, part not belonging to user_miniquery discarded.
|
||||
/// </summary>
|
||||
[Test]
|
||||
public void TestCreateMiniSurvey_InvalidQuestion_KeyNull()
|
||||
{
|
||||
var response = JsonConvert.DeserializeObject<ResponseContainer<DoReturnResponse>>(@"
|
||||
/// <summary>
|
||||
/// COPRI response shortened, part not belonging to user_miniquery discarded.
|
||||
/// </summary>
|
||||
[Test]
|
||||
public void TestCreateMiniSurvey_InvalidQuestion_KeyNull()
|
||||
{
|
||||
var response = JsonConvert.DeserializeObject<ResponseContainer<DoReturnResponse>>(@"
|
||||
{
|
||||
""shareejson"" : {
|
||||
""user_miniquery"" : {
|
||||
|
@ -210,24 +210,24 @@ namespace TestShareeLib.Model.Connector.Updater
|
|||
|
||||
");
|
||||
|
||||
var bookingFinised = response.shareejson.Create();
|
||||
var bookingFinised = response.shareejson.Create();
|
||||
|
||||
Assert.That(
|
||||
bookingFinised,
|
||||
Is.Not.Null);
|
||||
Assert.That(
|
||||
bookingFinised,
|
||||
Is.Not.Null);
|
||||
|
||||
Assert.That(
|
||||
bookingFinised.MiniSurvey.Questions.Count,
|
||||
Is.EqualTo(0));
|
||||
}
|
||||
Assert.That(
|
||||
bookingFinised.MiniSurvey.Questions.Count,
|
||||
Is.EqualTo(0));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// COPRI response shortened, part not belonging to user_miniquery discarded.
|
||||
/// </summary>
|
||||
[Test]
|
||||
public void TestCreateMiniSurvey_InvalidQuestion_ValueNull()
|
||||
{
|
||||
var response = JsonConvert.DeserializeObject<ResponseContainer<DoReturnResponse>>(@"
|
||||
/// <summary>
|
||||
/// COPRI response shortened, part not belonging to user_miniquery discarded.
|
||||
/// </summary>
|
||||
[Test]
|
||||
public void TestCreateMiniSurvey_InvalidQuestion_ValueNull()
|
||||
{
|
||||
var response = JsonConvert.DeserializeObject<ResponseContainer<DoReturnResponse>>(@"
|
||||
{
|
||||
""shareejson"" : {
|
||||
""user_miniquery"" : {
|
||||
|
@ -244,16 +244,16 @@ namespace TestShareeLib.Model.Connector.Updater
|
|||
|
||||
");
|
||||
|
||||
var bookingFinished = response.shareejson.Create();
|
||||
var bookingFinished = response.shareejson.Create();
|
||||
|
||||
Assert.That(
|
||||
bookingFinished,
|
||||
Is.Not.Null);
|
||||
Assert.That(
|
||||
bookingFinished,
|
||||
Is.Not.Null);
|
||||
|
||||
Assert.That(
|
||||
bookingFinished.MiniSurvey.Questions.Count,
|
||||
Is.EqualTo(0));
|
||||
}
|
||||
Assert.That(
|
||||
bookingFinished.MiniSurvey.Questions.Count,
|
||||
Is.EqualTo(0));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,47 +6,47 @@ using TINK.Repository.Response;
|
|||
|
||||
namespace TestShareeLib.Model.Connector.Updater
|
||||
{
|
||||
[TestFixture]
|
||||
public class TestDriveFactory
|
||||
{
|
||||
[Test]
|
||||
public void TestEmpty()
|
||||
{
|
||||
var response = JsonConvert.DeserializeObject<BikeType>(@"");
|
||||
[TestFixture]
|
||||
public class TestDriveFactory
|
||||
{
|
||||
[Test]
|
||||
public void TestEmpty()
|
||||
{
|
||||
var response = JsonConvert.DeserializeObject<BikeType>(@"");
|
||||
|
||||
Assert.That(
|
||||
response.Create().Type,
|
||||
Is.EqualTo(DriveType.SoleHumanPowered));
|
||||
Assert.That(
|
||||
response.Create().Type,
|
||||
Is.EqualTo(DriveType.SoleHumanPowered));
|
||||
|
||||
Assert.That(
|
||||
response.Create().Engine.Manufacturer,
|
||||
Is.Null);
|
||||
Assert.That(
|
||||
response.Create().Engine.Manufacturer,
|
||||
Is.Null);
|
||||
|
||||
Assert.That(
|
||||
response.Create().Battery.CurrentChargePercent,
|
||||
Is.NaN);
|
||||
Assert.That(
|
||||
response.Create().Battery.CurrentChargePercent,
|
||||
Is.NaN);
|
||||
|
||||
Assert.That(
|
||||
response.Create().Battery.CurrentChargeBars,
|
||||
Is.Null);
|
||||
Assert.That(
|
||||
response.Create().Battery.CurrentChargeBars,
|
||||
Is.Null);
|
||||
|
||||
Assert.That(
|
||||
response.Create().Battery.MaxChargeBars,
|
||||
Is.Null);
|
||||
Assert.That(
|
||||
response.Create().Battery.MaxChargeBars,
|
||||
Is.Null);
|
||||
|
||||
Assert.That(
|
||||
response.Create().Battery.IsBackendAccessible,
|
||||
Is.Null);
|
||||
Assert.That(
|
||||
response.Create().Battery.IsBackendAccessible,
|
||||
Is.Null);
|
||||
|
||||
Assert.That(
|
||||
response.Create().Battery.IsHidden,
|
||||
Is.Null);
|
||||
}
|
||||
Assert.That(
|
||||
response.Create().Battery.IsHidden,
|
||||
Is.Null);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestEmptyEngine()
|
||||
{
|
||||
var response = JsonConvert.DeserializeObject<BikeType>(@"
|
||||
[Test]
|
||||
public void TestEmptyEngine()
|
||||
{
|
||||
var response = JsonConvert.DeserializeObject<BikeType>(@"
|
||||
{
|
||||
""category"" : ""cargo"",
|
||||
""wheels"" : ""2"",
|
||||
|
@ -54,31 +54,31 @@ namespace TestShareeLib.Model.Connector.Updater
|
|||
}
|
||||
}");
|
||||
|
||||
Assert.That(
|
||||
response.Create().Type,
|
||||
Is.EqualTo(DriveType.SoleHumanPowered));
|
||||
Assert.That(
|
||||
response.Create().Type,
|
||||
Is.EqualTo(DriveType.SoleHumanPowered));
|
||||
|
||||
Assert.That(
|
||||
response.Create().Engine.Manufacturer,
|
||||
Is.Null);
|
||||
Assert.That(
|
||||
response.Create().Engine.Manufacturer,
|
||||
Is.Null);
|
||||
|
||||
Assert.That(
|
||||
response.Create().Battery.CurrentChargePercent,
|
||||
Is.NaN);
|
||||
Assert.That(
|
||||
response.Create().Battery.CurrentChargePercent,
|
||||
Is.NaN);
|
||||
|
||||
Assert.That(
|
||||
response.Create().Battery.CurrentChargeBars,
|
||||
Is.Null);
|
||||
Assert.That(
|
||||
response.Create().Battery.CurrentChargeBars,
|
||||
Is.Null);
|
||||
|
||||
Assert.That(
|
||||
response.Create().Battery.MaxChargeBars,
|
||||
Is.Null);
|
||||
}
|
||||
Assert.That(
|
||||
response.Create().Battery.MaxChargeBars,
|
||||
Is.Null);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestEngine()
|
||||
{
|
||||
var response = JsonConvert.DeserializeObject<BikeType>(@"
|
||||
[Test]
|
||||
public void TestEngine()
|
||||
{
|
||||
var response = JsonConvert.DeserializeObject<BikeType>(@"
|
||||
{
|
||||
""category"" : ""cargo"",
|
||||
""wheels"" : ""2"",
|
||||
|
@ -88,31 +88,31 @@ namespace TestShareeLib.Model.Connector.Updater
|
|||
|
||||
}");
|
||||
|
||||
Assert.That(
|
||||
response.Create().Type,
|
||||
Is.EqualTo(DriveType.Pedelec));
|
||||
Assert.That(
|
||||
response.Create().Type,
|
||||
Is.EqualTo(DriveType.Pedelec));
|
||||
|
||||
Assert.That(
|
||||
response.Create().Engine.Manufacturer,
|
||||
Is.EqualTo("dummy"));
|
||||
Assert.That(
|
||||
response.Create().Engine.Manufacturer,
|
||||
Is.EqualTo("dummy"));
|
||||
|
||||
Assert.That(
|
||||
response.Create().Battery.CurrentChargePercent,
|
||||
Is.NaN);
|
||||
Assert.That(
|
||||
response.Create().Battery.CurrentChargePercent,
|
||||
Is.NaN);
|
||||
|
||||
Assert.That(
|
||||
response.Create().Battery.CurrentChargeBars,
|
||||
Is.Null);
|
||||
Assert.That(
|
||||
response.Create().Battery.CurrentChargeBars,
|
||||
Is.Null);
|
||||
|
||||
Assert.That(
|
||||
response.Create().Battery.MaxChargeBars,
|
||||
Is.Null);
|
||||
}
|
||||
Assert.That(
|
||||
response.Create().Battery.MaxChargeBars,
|
||||
Is.Null);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestBatteryValues1()
|
||||
{
|
||||
var response = JsonConvert.DeserializeObject<BikeType>(@"
|
||||
[Test]
|
||||
public void TestBatteryValues1()
|
||||
{
|
||||
var response = JsonConvert.DeserializeObject<BikeType>(@"
|
||||
{
|
||||
""category"" : ""cargo"",
|
||||
""wheels"" : ""2"",
|
||||
|
@ -128,39 +128,39 @@ namespace TestShareeLib.Model.Connector.Updater
|
|||
}
|
||||
}");
|
||||
|
||||
Assert.That(
|
||||
response.Create().Type,
|
||||
Is.EqualTo(DriveType.Pedelec));
|
||||
Assert.That(
|
||||
response.Create().Type,
|
||||
Is.EqualTo(DriveType.Pedelec));
|
||||
|
||||
Assert.That(
|
||||
response.Create().Engine.Manufacturer,
|
||||
Is.EqualTo("dummy"));
|
||||
Assert.That(
|
||||
response.Create().Engine.Manufacturer,
|
||||
Is.EqualTo("dummy"));
|
||||
|
||||
Assert.That(
|
||||
response.Create().Battery.CurrentChargePercent,
|
||||
Is.EqualTo(70.0));
|
||||
Assert.That(
|
||||
response.Create().Battery.CurrentChargePercent,
|
||||
Is.EqualTo(70.0));
|
||||
|
||||
Assert.That(
|
||||
response.Create().Battery.CurrentChargeBars,
|
||||
Is.EqualTo(4));
|
||||
Assert.That(
|
||||
response.Create().Battery.CurrentChargeBars,
|
||||
Is.EqualTo(4));
|
||||
|
||||
Assert.That(
|
||||
response.Create().Battery.MaxChargeBars,
|
||||
Is.EqualTo(5));
|
||||
Assert.That(
|
||||
response.Create().Battery.MaxChargeBars,
|
||||
Is.EqualTo(5));
|
||||
|
||||
Assert.That(
|
||||
response.Create().Battery.IsBackendAccessible,
|
||||
Is.False);
|
||||
Assert.That(
|
||||
response.Create().Battery.IsBackendAccessible,
|
||||
Is.False);
|
||||
|
||||
Assert.That(
|
||||
response.Create().Battery.IsHidden,
|
||||
Is.False);
|
||||
}
|
||||
Assert.That(
|
||||
response.Create().Battery.IsHidden,
|
||||
Is.False);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestBatteryValues2()
|
||||
{
|
||||
var response = JsonConvert.DeserializeObject<BikeType>(@"
|
||||
[Test]
|
||||
public void TestBatteryValues2()
|
||||
{
|
||||
var response = JsonConvert.DeserializeObject<BikeType>(@"
|
||||
{
|
||||
""category"" : ""cargo"",
|
||||
""wheels"" : ""2"",
|
||||
|
@ -176,33 +176,33 @@ namespace TestShareeLib.Model.Connector.Updater
|
|||
}
|
||||
}");
|
||||
|
||||
Assert.That(
|
||||
response.Create().Type,
|
||||
Is.EqualTo(DriveType.Pedelec));
|
||||
Assert.That(
|
||||
response.Create().Type,
|
||||
Is.EqualTo(DriveType.Pedelec));
|
||||
|
||||
Assert.That(
|
||||
response.Create().Engine.Manufacturer,
|
||||
Is.EqualTo("dummy2"));
|
||||
Assert.That(
|
||||
response.Create().Engine.Manufacturer,
|
||||
Is.EqualTo("dummy2"));
|
||||
|
||||
Assert.That(
|
||||
response.Create().Battery.CurrentChargePercent,
|
||||
Is.EqualTo(70.3));
|
||||
Assert.That(
|
||||
response.Create().Battery.CurrentChargePercent,
|
||||
Is.EqualTo(70.3));
|
||||
|
||||
Assert.That(
|
||||
response.Create().Battery.CurrentChargeBars,
|
||||
Is.EqualTo(1));
|
||||
Assert.That(
|
||||
response.Create().Battery.CurrentChargeBars,
|
||||
Is.EqualTo(1));
|
||||
|
||||
Assert.That(
|
||||
response.Create().Battery.MaxChargeBars,
|
||||
Is.EqualTo(6));
|
||||
Assert.That(
|
||||
response.Create().Battery.MaxChargeBars,
|
||||
Is.EqualTo(6));
|
||||
|
||||
Assert.That(
|
||||
response.Create().Battery.IsBackendAccessible,
|
||||
Is.True);
|
||||
Assert.That(
|
||||
response.Create().Battery.IsBackendAccessible,
|
||||
Is.True);
|
||||
|
||||
Assert.That(
|
||||
response.Create().Battery.IsHidden,
|
||||
Is.True);
|
||||
}
|
||||
}
|
||||
Assert.That(
|
||||
response.Create().Battery.IsHidden,
|
||||
Is.True);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,33 +6,33 @@ using TINK.Repository.Response;
|
|||
|
||||
namespace TestShareeLib.Model.Connector.Updater
|
||||
{
|
||||
[TestFixture]
|
||||
public class TestRentalDescription
|
||||
{
|
||||
[TestFixture]
|
||||
public class TestRentalDescription
|
||||
{
|
||||
|
||||
[Test]
|
||||
public void TestCreateRentalDescriptionEmpyJson()
|
||||
{
|
||||
var response = JsonConvert.DeserializeObject<RentalDescription>(@"");
|
||||
[Test]
|
||||
public void TestCreateRentalDescriptionEmpyJson()
|
||||
{
|
||||
var response = JsonConvert.DeserializeObject<RentalDescription>(@"");
|
||||
|
||||
Assert.That(
|
||||
response.Create().Name,
|
||||
Is.Empty);
|
||||
Assert.That(
|
||||
response.Create().Name,
|
||||
Is.Empty);
|
||||
|
||||
Assert.That(
|
||||
response.Create().TariffEntries.Count,
|
||||
Is.EqualTo(0));
|
||||
Assert.That(
|
||||
response.Create().TariffEntries.Count,
|
||||
Is.EqualTo(0));
|
||||
|
||||
Assert.That(
|
||||
response.Create().InfoEntries.Count,
|
||||
Is.EqualTo(0));
|
||||
}
|
||||
Assert.That(
|
||||
response.Create().InfoEntries.Count,
|
||||
Is.EqualTo(0));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestCreateRentalDescription()
|
||||
{
|
||||
var response = JsonConvertRethrow.DeserializeObject<RentalDescription>(
|
||||
@"{
|
||||
[Test]
|
||||
public void TestCreateRentalDescription()
|
||||
{
|
||||
var response = JsonConvertRethrow.DeserializeObject<RentalDescription>(
|
||||
@"{
|
||||
""id"": ""1"",
|
||||
""tarif_elements"" : {
|
||||
""6"": [
|
||||
|
@ -61,69 +61,69 @@ namespace TestShareeLib.Model.Connector.Updater
|
|||
}
|
||||
}");
|
||||
|
||||
Assert.That(
|
||||
response.Create().Name,
|
||||
Is.EqualTo("REN E-Bike"));
|
||||
Assert.That(
|
||||
response.Create().Name,
|
||||
Is.EqualTo("REN E-Bike"));
|
||||
|
||||
Assert.That(
|
||||
response.Create().Id,
|
||||
Is.EqualTo(1));
|
||||
Assert.That(
|
||||
response.Create().Id,
|
||||
Is.EqualTo(1));
|
||||
|
||||
Assert.That(
|
||||
response.Create().TariffEntries.Count,
|
||||
Is.EqualTo(3));
|
||||
Assert.That(
|
||||
response.Create().TariffEntries.Count,
|
||||
Is.EqualTo(3));
|
||||
|
||||
Assert.That(
|
||||
response.Create().InfoEntries.Count,
|
||||
Is.EqualTo(2));
|
||||
Assert.That(
|
||||
response.Create().InfoEntries.Count,
|
||||
Is.EqualTo(2));
|
||||
|
||||
Assert.That(
|
||||
response.Create().TariffEntries["1"].Description,
|
||||
Is.EqualTo("Mietgebühr"));
|
||||
Assert.That(
|
||||
response.Create().TariffEntries["1"].Description,
|
||||
Is.EqualTo("Mietgebühr"));
|
||||
|
||||
Assert.That(
|
||||
response.Create().TariffEntries["1"].Value,
|
||||
Is.EqualTo("2,00 € / 1 Std"));
|
||||
Assert.That(
|
||||
response.Create().TariffEntries["1"].Value,
|
||||
Is.EqualTo("2,00 € / 1 Std"));
|
||||
|
||||
Assert.That(
|
||||
response.Create().TariffEntries["4"].Description,
|
||||
Is.EqualTo("Max. Gebühr"));
|
||||
Assert.That(
|
||||
response.Create().TariffEntries["4"].Description,
|
||||
Is.EqualTo("Max. Gebühr"));
|
||||
|
||||
Assert.That(
|
||||
response.Create().TariffEntries["4"].Value,
|
||||
Is.EqualTo("40.00 € / Tag"));
|
||||
Assert.That(
|
||||
response.Create().TariffEntries["4"].Value,
|
||||
Is.EqualTo("40.00 € / Tag"));
|
||||
|
||||
Assert.That(
|
||||
response.Create().TariffEntries["6"].Description,
|
||||
Is.EqualTo("Gratis Mietzeit"));
|
||||
Assert.That(
|
||||
response.Create().TariffEntries["6"].Description,
|
||||
Is.EqualTo("Gratis Mietzeit"));
|
||||
|
||||
Assert.That(
|
||||
response.Create().TariffEntries["6"].Value,
|
||||
Is.EqualTo("30 Min / Tag"));
|
||||
Assert.That(
|
||||
response.Create().TariffEntries["6"].Value,
|
||||
Is.EqualTo("30 Min / Tag"));
|
||||
|
||||
Assert.That(
|
||||
response.Create().InfoEntries["8"].Key,
|
||||
Is.EqualTo("Tracking"));
|
||||
Assert.That(
|
||||
response.Create().InfoEntries["8"].Key,
|
||||
Is.EqualTo("Tracking"));
|
||||
|
||||
Assert.That(
|
||||
response.Create().InfoEntries["8"].Value,
|
||||
Is.EqualTo("Ich stimme der Speicherung (Tracking) meiner Fahrstrecke zwecks wissenschaftlicher Auswertung und Berechnung der CO2-Einsparung zu!"));
|
||||
Assert.That(
|
||||
response.Create().InfoEntries["8"].Value,
|
||||
Is.EqualTo("Ich stimme der Speicherung (Tracking) meiner Fahrstrecke zwecks wissenschaftlicher Auswertung und Berechnung der CO2-Einsparung zu!"));
|
||||
|
||||
Assert.That(
|
||||
response.Create().InfoEntries["9"].Key,
|
||||
Is.EqualTo("AGB"));
|
||||
Assert.That(
|
||||
response.Create().InfoEntries["9"].Key,
|
||||
Is.EqualTo("AGB"));
|
||||
|
||||
Assert.That(
|
||||
response.Create().InfoEntries["9"].Value,
|
||||
Is.EqualTo("Mit der Mietrad Anmietung wird folgender Betreiber <a href='$varenv->{wwwhost}/site/agb.html' target='_blank'>AGB</a> zugestimmt"));
|
||||
}
|
||||
Assert.That(
|
||||
response.Create().InfoEntries["9"].Value,
|
||||
Is.EqualTo("Mit der Mietrad Anmietung wird folgender Betreiber <a href='$varenv->{wwwhost}/site/agb.html' target='_blank'>AGB</a> zugestimmt"));
|
||||
}
|
||||
|
||||
|
||||
[Test]
|
||||
public void TestCreateRentalDescriptionDupeTarifElements()
|
||||
{
|
||||
var response = JsonConvertRethrow.DeserializeObject<RentalDescription>(
|
||||
@"{
|
||||
[Test]
|
||||
public void TestCreateRentalDescriptionDupeTarifElements()
|
||||
{
|
||||
var response = JsonConvertRethrow.DeserializeObject<RentalDescription>(
|
||||
@"{
|
||||
""id"": ""1"",
|
||||
""tarif_elements"" : {
|
||||
""6"": [
|
||||
|
@ -141,17 +141,17 @@ namespace TestShareeLib.Model.Connector.Updater
|
|||
}
|
||||
}");
|
||||
|
||||
Assert.That(
|
||||
response.Create().TariffEntries.Count,
|
||||
Is.EqualTo(2));
|
||||
Assert.That(
|
||||
response.Create().TariffEntries.Count,
|
||||
Is.EqualTo(2));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestCreateRentalDescriptionDupeInfoElements()
|
||||
{
|
||||
var response = JsonConvertRethrow.DeserializeObject<RentalDescription>(
|
||||
@"{
|
||||
[Test]
|
||||
public void TestCreateRentalDescriptionDupeInfoElements()
|
||||
{
|
||||
var response = JsonConvertRethrow.DeserializeObject<RentalDescription>(
|
||||
@"{
|
||||
""rental_info"" : {
|
||||
""9"" : [
|
||||
""AGB"",
|
||||
|
@ -164,37 +164,37 @@ namespace TestShareeLib.Model.Connector.Updater
|
|||
}
|
||||
}");
|
||||
|
||||
Assert.That(
|
||||
response.Create().InfoEntries.Count,
|
||||
Is.EqualTo(1));
|
||||
}
|
||||
Assert.That(
|
||||
response.Create().InfoEntries.Count,
|
||||
Is.EqualTo(1));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestCreateRentalDescriptionsNoTariffElements()
|
||||
{
|
||||
var response = JsonConvertRethrow.DeserializeObject<RentalDescription>(
|
||||
@"{
|
||||
[Test]
|
||||
public void TestCreateRentalDescriptionsNoTariffElements()
|
||||
{
|
||||
var response = JsonConvertRethrow.DeserializeObject<RentalDescription>(
|
||||
@"{
|
||||
""rental_info"" : {
|
||||
}
|
||||
}");
|
||||
|
||||
Assert.That(
|
||||
response.Create().TariffEntries,
|
||||
Is.Not.Null);
|
||||
}
|
||||
Assert.That(
|
||||
response.Create().TariffEntries,
|
||||
Is.Not.Null);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestCreateRentalDescriptionsNoInfoElements()
|
||||
{
|
||||
var response = JsonConvertRethrow.DeserializeObject<RentalDescription>(
|
||||
@"{
|
||||
[Test]
|
||||
public void TestCreateRentalDescriptionsNoInfoElements()
|
||||
{
|
||||
var response = JsonConvertRethrow.DeserializeObject<RentalDescription>(
|
||||
@"{
|
||||
""rental_info"" : {
|
||||
}
|
||||
}");
|
||||
|
||||
Assert.That(
|
||||
response.Create().InfoEntries,
|
||||
Is.Not.Null);
|
||||
}
|
||||
}
|
||||
Assert.That(
|
||||
response.Create().InfoEntries,
|
||||
Is.Not.Null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,14 +5,14 @@ using TINK.Repository.Response;
|
|||
|
||||
namespace TestShareeLib.Model.Connector.Updater
|
||||
{
|
||||
[TestFixture]
|
||||
public class TestTariffDescriptionFactory
|
||||
{
|
||||
[Test]
|
||||
public void TestCreateTariffDescription()
|
||||
{
|
||||
var tariffDescription = JsonConvertRethrow.DeserializeObject<TariffDescription>(
|
||||
@"{
|
||||
[TestFixture]
|
||||
public class TestTariffDescriptionFactory
|
||||
{
|
||||
[Test]
|
||||
public void TestCreateTariffDescription()
|
||||
{
|
||||
var tariffDescription = JsonConvertRethrow.DeserializeObject<TariffDescription>(
|
||||
@"{
|
||||
""eur_per_hour"" : ""10.50"",
|
||||
""abo_eur_per_month"" : ""920.99"",
|
||||
""free_hours"" : ""1.50"",
|
||||
|
@ -20,32 +20,32 @@ namespace TestShareeLib.Model.Connector.Updater
|
|||
""name"" : ""Tester Basic""
|
||||
}");
|
||||
|
||||
Assert.That(
|
||||
tariffDescription.Create().Name,
|
||||
Is.EqualTo("Tester Basic"));
|
||||
Assert.That(
|
||||
tariffDescription.Create().Name,
|
||||
Is.EqualTo("Tester Basic"));
|
||||
|
||||
Assert.That(
|
||||
tariffDescription.Create().Id,
|
||||
Is.EqualTo(5494));
|
||||
Assert.That(
|
||||
tariffDescription.Create().Id,
|
||||
Is.EqualTo(5494));
|
||||
|
||||
Assert.That(
|
||||
tariffDescription.Create().TariffEntries["1"].Value, // Free time per session
|
||||
Is.EqualTo("1.50 hour(s)/day")); // Did not contain unit before switching signature from TariffDescription to TariffDescription2.
|
||||
Assert.That(
|
||||
tariffDescription.Create().TariffEntries["1"].Value, // Free time per session
|
||||
Is.EqualTo("1.50 hour(s)/day")); // Did not contain unit before switching signature from TariffDescription to TariffDescription2.
|
||||
|
||||
Assert.That(
|
||||
tariffDescription.Create().TariffEntries["2"].Value, // FeeEuroPerHour
|
||||
Is.EqualTo("10.50 €/hour")); // Did not contain unit before switching signature from TariffDescription to TariffDescription2.
|
||||
Assert.That(
|
||||
tariffDescription.Create().TariffEntries["2"].Value, // FeeEuroPerHour
|
||||
Is.EqualTo("10.50 €/hour")); // Did not contain unit before switching signature from TariffDescription to TariffDescription2.
|
||||
|
||||
Assert.That(
|
||||
tariffDescription.Create().TariffEntries["4"].Value, // Abo euro per month
|
||||
Is.EqualTo("920.99 €/month"));
|
||||
}
|
||||
Assert.That(
|
||||
tariffDescription.Create().TariffEntries["4"].Value, // Abo euro per month
|
||||
Is.EqualTo("920.99 €/month"));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestCreateTariffDescription_Name()
|
||||
{
|
||||
var tariffDescription = JsonConvertRethrow.DeserializeObject<TariffDescription>(
|
||||
@"{
|
||||
[Test]
|
||||
public void TestCreateTariffDescription_Name()
|
||||
{
|
||||
var tariffDescription = JsonConvertRethrow.DeserializeObject<TariffDescription>(
|
||||
@"{
|
||||
""eur_per_hour"" : ""10.50"",
|
||||
""abo_eur_per_month"" : ""920.99"",
|
||||
""free_hours"" : ""1.50"",
|
||||
|
@ -53,16 +53,16 @@ namespace TestShareeLib.Model.Connector.Updater
|
|||
""name"" : ""Tester Basic""
|
||||
}");
|
||||
|
||||
Assert.That(
|
||||
tariffDescription.Create().Name,
|
||||
Is.EqualTo("Tester Basic"));
|
||||
}
|
||||
Assert.That(
|
||||
tariffDescription.Create().Name,
|
||||
Is.EqualTo("Tester Basic"));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestCreateTariffDescription_Number()
|
||||
{
|
||||
var tariffDescription = JsonConvertRethrow.DeserializeObject<TariffDescription>(
|
||||
@"{
|
||||
[Test]
|
||||
public void TestCreateTariffDescription_Number()
|
||||
{
|
||||
var tariffDescription = JsonConvertRethrow.DeserializeObject<TariffDescription>(
|
||||
@"{
|
||||
""eur_per_hour"" : ""10.50"",
|
||||
""abo_eur_per_month"" : ""920.99"",
|
||||
""free_hours"" : ""1.50"",
|
||||
|
@ -70,16 +70,16 @@ namespace TestShareeLib.Model.Connector.Updater
|
|||
""name"" : ""Tester Basic""
|
||||
}");
|
||||
|
||||
Assert.That(
|
||||
tariffDescription.Create().Id,
|
||||
Is.EqualTo(5494));
|
||||
}
|
||||
Assert.That(
|
||||
tariffDescription.Create().Id,
|
||||
Is.EqualTo(5494));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestCreateTariffDescription_FreeTimePerSession()
|
||||
{
|
||||
var tariffDescription = JsonConvertRethrow.DeserializeObject<TariffDescription>(
|
||||
@"{
|
||||
[Test]
|
||||
public void TestCreateTariffDescription_FreeTimePerSession()
|
||||
{
|
||||
var tariffDescription = JsonConvertRethrow.DeserializeObject<TariffDescription>(
|
||||
@"{
|
||||
""eur_per_hour"" : ""10.50"",
|
||||
""abo_eur_per_month"" : ""920.99"",
|
||||
""free_hours"" : ""1.50"",
|
||||
|
@ -87,16 +87,16 @@ namespace TestShareeLib.Model.Connector.Updater
|
|||
""name"" : ""Tester Basic""
|
||||
}");
|
||||
|
||||
Assert.That(
|
||||
tariffDescription.Create().TariffEntries["1"].Value, // Free time per session
|
||||
Is.EqualTo("1.50 hour(s)/day")); // Did not contain unit before switching signature from TariffDescription to TariffDescription2.
|
||||
}
|
||||
Assert.That(
|
||||
tariffDescription.Create().TariffEntries["1"].Value, // Free time per session
|
||||
Is.EqualTo("1.50 hour(s)/day")); // Did not contain unit before switching signature from TariffDescription to TariffDescription2.
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestCreateTariffDescription_FeeEuroPerHour()
|
||||
{
|
||||
var tariffDescription = JsonConvertRethrow.DeserializeObject<TariffDescription>(
|
||||
@"{
|
||||
[Test]
|
||||
public void TestCreateTariffDescription_FeeEuroPerHour()
|
||||
{
|
||||
var tariffDescription = JsonConvertRethrow.DeserializeObject<TariffDescription>(
|
||||
@"{
|
||||
""eur_per_hour"" : ""10.50"",
|
||||
""abo_eur_per_month"" : ""920.99"",
|
||||
""free_hours"" : ""1.50"",
|
||||
|
@ -104,16 +104,16 @@ namespace TestShareeLib.Model.Connector.Updater
|
|||
""name"" : ""Tester Basic""
|
||||
}");
|
||||
|
||||
Assert.That(
|
||||
tariffDescription.Create().TariffEntries["2"].Value, // FeeEuroPerHour
|
||||
Is.EqualTo("10.50 €/hour")); // Did not contain unit before switching signature from TariffDescription to TariffDescription2.
|
||||
}
|
||||
Assert.That(
|
||||
tariffDescription.Create().TariffEntries["2"].Value, // FeeEuroPerHour
|
||||
Is.EqualTo("10.50 €/hour")); // Did not contain unit before switching signature from TariffDescription to TariffDescription2.
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestCreateTariffDescription_AboEuroPerMonth()
|
||||
{
|
||||
var tariffDescription = JsonConvertRethrow.DeserializeObject<TariffDescription>(
|
||||
@"{
|
||||
[Test]
|
||||
public void TestCreateTariffDescription_AboEuroPerMonth()
|
||||
{
|
||||
var tariffDescription = JsonConvertRethrow.DeserializeObject<TariffDescription>(
|
||||
@"{
|
||||
""eur_per_hour"" : ""10.50"",
|
||||
""abo_eur_per_month"" : ""920.99"",
|
||||
""free_hours"" : ""1.50"",
|
||||
|
@ -121,104 +121,104 @@ namespace TestShareeLib.Model.Connector.Updater
|
|||
""name"" : ""Tester Basic""
|
||||
}");
|
||||
|
||||
Assert.That(
|
||||
tariffDescription.Create().TariffEntries["4"].Value, // Abo euro per month
|
||||
Is.EqualTo("920.99 €/month"));
|
||||
}
|
||||
Assert.That(
|
||||
tariffDescription.Create().TariffEntries["4"].Value, // Abo euro per month
|
||||
Is.EqualTo("920.99 €/month"));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestCreateTariffDescription_Name_Empty()
|
||||
{
|
||||
var tariffDescription = JsonConvertRethrow.DeserializeObject<TariffDescription>(
|
||||
@"{}");
|
||||
[Test]
|
||||
public void TestCreateTariffDescription_Name_Empty()
|
||||
{
|
||||
var tariffDescription = JsonConvertRethrow.DeserializeObject<TariffDescription>(
|
||||
@"{}");
|
||||
|
||||
Assert.That(
|
||||
tariffDescription.Create().Name,
|
||||
Is.Null);
|
||||
}
|
||||
Assert.That(
|
||||
tariffDescription.Create().Name,
|
||||
Is.Null);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestCreateTariffDescription_Number_Empty()
|
||||
{
|
||||
var tariffDescription = JsonConvertRethrow.DeserializeObject<TariffDescription>(
|
||||
@"{}");
|
||||
[Test]
|
||||
public void TestCreateTariffDescription_Number_Empty()
|
||||
{
|
||||
var tariffDescription = JsonConvertRethrow.DeserializeObject<TariffDescription>(
|
||||
@"{}");
|
||||
|
||||
Assert.That(
|
||||
tariffDescription.Create().Id,
|
||||
Is.Null);
|
||||
}
|
||||
Assert.That(
|
||||
tariffDescription.Create().Id,
|
||||
Is.Null);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestCreateTariffDescription_FreeTimePerSession_Empty()
|
||||
{
|
||||
var tariffDescription = JsonConvertRethrow.DeserializeObject<TariffDescription>(
|
||||
@"{}");
|
||||
[Test]
|
||||
public void TestCreateTariffDescription_FreeTimePerSession_Empty()
|
||||
{
|
||||
var tariffDescription = JsonConvertRethrow.DeserializeObject<TariffDescription>(
|
||||
@"{}");
|
||||
|
||||
Assert.That(
|
||||
tariffDescription.Create().TariffEntries.ContainsKey("1"), // Free time per session
|
||||
Is.False);
|
||||
}
|
||||
Assert.That(
|
||||
tariffDescription.Create().TariffEntries.ContainsKey("1"), // Free time per session
|
||||
Is.False);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestCreateTariffDescription_FeeEuroPerHour_Empty()
|
||||
{
|
||||
var tariffDescription = JsonConvertRethrow.DeserializeObject<TariffDescription>(
|
||||
@"{}");
|
||||
[Test]
|
||||
public void TestCreateTariffDescription_FeeEuroPerHour_Empty()
|
||||
{
|
||||
var tariffDescription = JsonConvertRethrow.DeserializeObject<TariffDescription>(
|
||||
@"{}");
|
||||
|
||||
Assert.That(
|
||||
tariffDescription.Create().TariffEntries.ContainsKey("2"), // FeeEuroPerHour
|
||||
Is.False);
|
||||
}
|
||||
Assert.That(
|
||||
tariffDescription.Create().TariffEntries.ContainsKey("2"), // FeeEuroPerHour
|
||||
Is.False);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestCreateTariffDescription_AboEuroPerMonth_Empty()
|
||||
{
|
||||
var tariffDescription = JsonConvertRethrow.DeserializeObject<TariffDescription>(
|
||||
@"{}");
|
||||
[Test]
|
||||
public void TestCreateTariffDescription_AboEuroPerMonth_Empty()
|
||||
{
|
||||
var tariffDescription = JsonConvertRethrow.DeserializeObject<TariffDescription>(
|
||||
@"{}");
|
||||
|
||||
Assert.That(
|
||||
tariffDescription.Create().TariffEntries.ContainsKey("4"), // Abo euro per month
|
||||
Is.False);
|
||||
}
|
||||
Assert.That(
|
||||
tariffDescription.Create().TariffEntries.ContainsKey("4"), // Abo euro per month
|
||||
Is.False);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestCreateTariffDescription_Name_Null()
|
||||
{
|
||||
Assert.That(
|
||||
TariffDescriptionFactory.Create(null).Name,
|
||||
Is.Null);
|
||||
}
|
||||
[Test]
|
||||
public void TestCreateTariffDescription_Name_Null()
|
||||
{
|
||||
Assert.That(
|
||||
TariffDescriptionFactory.Create(null).Name,
|
||||
Is.Null);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestCreateTariffDescription_Number_Null()
|
||||
{
|
||||
Assert.That(
|
||||
TariffDescriptionFactory.Create(null).Id,
|
||||
Is.Null);
|
||||
}
|
||||
[Test]
|
||||
public void TestCreateTariffDescription_Number_Null()
|
||||
{
|
||||
Assert.That(
|
||||
TariffDescriptionFactory.Create(null).Id,
|
||||
Is.Null);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestCreateTariffDescription_FreeTimePerSession_Null()
|
||||
{
|
||||
Assert.That(
|
||||
TariffDescriptionFactory.Create(null).TariffEntries.ContainsKey("1"), // Free time per session
|
||||
Is.False);
|
||||
}
|
||||
[Test]
|
||||
public void TestCreateTariffDescription_FreeTimePerSession_Null()
|
||||
{
|
||||
Assert.That(
|
||||
TariffDescriptionFactory.Create(null).TariffEntries.ContainsKey("1"), // Free time per session
|
||||
Is.False);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestCreateTariffDescription_FeeEuroPerHour_Null()
|
||||
{
|
||||
Assert.That(
|
||||
TariffDescriptionFactory.Create(null).TariffEntries.ContainsKey("2"), // FeeEuroPerHour
|
||||
Is.False);
|
||||
}
|
||||
[Test]
|
||||
public void TestCreateTariffDescription_FeeEuroPerHour_Null()
|
||||
{
|
||||
Assert.That(
|
||||
TariffDescriptionFactory.Create(null).TariffEntries.ContainsKey("2"), // FeeEuroPerHour
|
||||
Is.False);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestCreateTariffDescription_AboEuroPerMonth_Null()
|
||||
{
|
||||
Assert.That(
|
||||
TariffDescriptionFactory.Create(null).TariffEntries.ContainsKey("4"), // Abo euro per month
|
||||
Is.False);
|
||||
}
|
||||
}
|
||||
[Test]
|
||||
public void TestCreateTariffDescription_AboEuroPerMonth_Null()
|
||||
{
|
||||
Assert.That(
|
||||
TariffDescriptionFactory.Create(null).TariffEntries.ContainsKey("4"), // Abo euro per month
|
||||
Is.False);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue