sharee.bike-App/TestTINKLib/Fixtures/ObjectTests/Connector/TestFilter.cs
2022-01-04 18:59:16 +01:00

99 lines
4.7 KiB
C#

using NUnit.Framework;
using Rhino.Mocks;
using System.Collections.Generic;
using TINK.Model.Connector;
using System.Linq;
using TINK.Repository;
using TestFramework.Repository;
using System;
namespace TestTINKLib.Fixtures.ObjectTests.Connector
{
/// <summary> Tests filter object. </summary>
[TestFixture]
public class TestFilter
{
/// <summary> Tests all stations. </summary>
[Test]
public void TestGetStationsAll()
{
var connector = new ConnectorCache(
new AppContextInfo("MyMerchId", "MyApp", new Version(1, 2)),
string.Empty,
string.Empty,
new CopriCallsMemory001());
var filter = new FilteredConnector(new List<string> { FilterHelper.CARGOBIKE, FilterHelper.CITYBIKE }, connector);
var stations = filter.Query.GetBikesAndStationsAsync().Result.Response;
Assert.AreEqual(41, stations.StationsAll.Count()); // Count of stations was 9 before switching to data provider CopriCallsMemory(CopriCallsMemory.SampleSets.Set2, 1)
filter = new FilteredConnector(new List<string> { FilterHelper.CARGOBIKE }, connector);
stations = filter.Query.GetBikesAndStationsAsync().Result.Response;
Assert.AreEqual(27, stations.StationsAll.Count());
filter = new FilteredConnector(new List<string> { FilterHelper.CITYBIKE }, connector);
stations = filter.Query.GetBikesAndStationsAsync().Result.Response;
Assert.AreEqual(21, stations.StationsAll.Count());
filter = new FilteredConnector(new List<string> { "AGroupNamedNonsensDoesNotExist" }, connector);
stations = filter.Query.GetBikesAndStationsAsync().Result.Response;
Assert.AreEqual(0, stations.StationsAll.Count());
filter = new FilteredConnector(new List<string>(), connector);
stations = filter.Query.GetBikesAndStationsAsync().Result.Response;
Assert.AreEqual(41, stations.StationsAll.Count());
filter = new FilteredConnector(null, connector);
stations = filter.Query.GetBikesAndStationsAsync().Result.Response;
Assert.AreEqual(41, stations.StationsAll.Count(), "Null means filter none.");
}
/// <summary> Tests all stations. </summary>
[Test]
public void TestGetBikesAll()
{
var l_oConnector = new ConnectorCache(
new AppContextInfo("MyMerchId", "MyApp", new Version(1, 2)),
string.Empty,
string.Empty,
new CopriCallsMemory001());
var l_oFilter = new FilteredConnector(new List<string> { FilterHelper.CARGOBIKE, FilterHelper.CITYBIKE }, l_oConnector);
var l_oBikes = l_oFilter.Query.GetBikesAsync().Result.Response;
Assert.AreEqual(8, l_oBikes.Count()); // Count of stations was 12 CopriCallsMemory(CopriCallsMemory.SampleSets.Set2, 1)
l_oFilter = new FilteredConnector(new List<string> { FilterHelper.CARGOBIKE }, l_oConnector);
l_oBikes = l_oFilter.Query.GetBikesAsync().Result.Response;
Assert.AreEqual(3, l_oBikes.Count()); // Was 11
l_oFilter = new FilteredConnector(new List<string> { FilterHelper.CITYBIKE }, l_oConnector);
l_oBikes = l_oFilter.Query.GetBikesAsync().Result.Response;
Assert.AreEqual(5, l_oBikes.Count()); // Was 1
l_oFilter = new FilteredConnector(new List<string> { "AGroupNamedNonsensDoesNotExist" }, l_oConnector);
l_oBikes = l_oFilter.Query.GetBikesAsync().Result.Response;
Assert.AreEqual(0, l_oBikes.Count());
l_oFilter = new FilteredConnector(new List<string>(), l_oConnector);
l_oBikes = l_oFilter.Query.GetBikesAsync().Result.Response;
Assert.AreEqual(8, l_oBikes.Count(), "List with zero element means filter all."); // Was 12
l_oFilter = new FilteredConnector(null, l_oConnector);
l_oBikes = l_oFilter.Query.GetBikesAsync().Result.Response;
Assert.AreEqual(8, l_oBikes.Count(), "Null means filter none.");
}
[Test]
public void TestIsConnected()
{
var l_oMock = MockRepository.GenerateMock<IConnector>();
l_oMock.Expect(x => x.IsConnected).Return(true) ;
Assert.IsTrue(new FilteredConnector(new List<string>(), l_oMock).IsConnected);
l_oMock = MockRepository.GenerateMock<IConnector>();
l_oMock.Expect(x => x.IsConnected).Return(false);
Assert.IsFalse(new FilteredConnector(new List<string>(), l_oMock).IsConnected);
}
}
}