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 { /// Tests filter object. [TestFixture] public class TestFilter { /// Tests all stations. [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 { 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 { FilterHelper.CARGOBIKE }, connector); stations = filter.Query.GetBikesAndStationsAsync().Result.Response; Assert.AreEqual(27, stations.StationsAll.Count()); filter = new FilteredConnector(new List { FilterHelper.CITYBIKE }, connector); stations = filter.Query.GetBikesAndStationsAsync().Result.Response; Assert.AreEqual(21, stations.StationsAll.Count()); filter = new FilteredConnector(new List { "AGroupNamedNonsensDoesNotExist" }, connector); stations = filter.Query.GetBikesAndStationsAsync().Result.Response; Assert.AreEqual(0, stations.StationsAll.Count()); filter = new FilteredConnector(new List(), 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."); } /// Tests all stations. [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 { 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 { 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 { 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 { "AGroupNamedNonsensDoesNotExist" }, l_oConnector); l_oBikes = l_oFilter.Query.GetBikesAsync().Result.Response; Assert.AreEqual(0, l_oBikes.Count()); l_oFilter = new FilteredConnector(new List(), 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(); l_oMock.Expect(x => x.IsConnected).Return(true) ; Assert.IsTrue(new FilteredConnector(new List(), l_oMock).IsConnected); l_oMock = MockRepository.GenerateMock(); l_oMock.Expect(x => x.IsConnected).Return(false); Assert.IsFalse(new FilteredConnector(new List(), l_oMock).IsConnected); } } }