using NUnit.Framework; using Rhino.Mocks; using System.Collections.Generic; using TINK.Model.Connector; using System.Linq; using TINK.Repository; namespace TestTINKLib.Fixtures.ObjectTests.Connector { /// Tests filter object. [TestFixture] public class TestFilter { /// Tests all stations. [Test] public void TestGetStationsAll() { var l_oConnector = new ConnectorCache( string.Empty, string.Empty, new CopriCallsMemory(CopriCallsMemory.SampleSets.Set2, 1)); var l_oFilter = new FilteredConnector(new List { "TINK", "Konrad" }, l_oConnector); var l_oStations = l_oFilter.Query.GetBikesAndStationsAsync().Result.Response; Assert.AreEqual(9, l_oStations.StationsAll.Count()); l_oFilter = new FilteredConnector(new List { "TINK" }, l_oConnector); l_oStations = l_oFilter.Query.GetBikesAndStationsAsync().Result.Response; Assert.AreEqual(8, l_oStations.StationsAll.Count()); l_oFilter = new FilteredConnector(new List { "Konrad" }, l_oConnector); l_oStations = l_oFilter.Query.GetBikesAndStationsAsync().Result.Response; Assert.AreEqual(2, l_oStations.StationsAll.Count()); l_oFilter = new FilteredConnector(new List { "AGroupNamedNonsensDoesNotExist" }, l_oConnector); l_oStations = l_oFilter.Query.GetBikesAndStationsAsync().Result.Response; Assert.AreEqual(0, l_oStations.StationsAll.Count()); l_oFilter = new FilteredConnector(new List(), l_oConnector); l_oStations = l_oFilter.Query.GetBikesAndStationsAsync().Result.Response; Assert.AreEqual(9, l_oStations.StationsAll.Count()); l_oFilter = new FilteredConnector(null, l_oConnector); l_oStations = l_oFilter.Query.GetBikesAndStationsAsync().Result.Response; Assert.AreEqual(9, l_oStations.StationsAll.Count(), "Null means filter none."); } /// Tests all stations. [Test] public void TestGetBikesAll() { var l_oConnector = new ConnectorCache( string.Empty, string.Empty, new CopriCallsMemory(CopriCallsMemory.SampleSets.Set2, 1)); var l_oFilter = new FilteredConnector(new List { "TINK", "Konrad" }, l_oConnector); var l_oBikes = l_oFilter.Query.GetBikesAsync().Result.Response; Assert.AreEqual(12, l_oBikes.Count()); l_oFilter = new FilteredConnector(new List { "TINK" }, l_oConnector); l_oBikes = l_oFilter.Query.GetBikesAsync().Result.Response; Assert.AreEqual(11, l_oBikes.Count()); l_oFilter = new FilteredConnector(new List { "Konrad" }, l_oConnector); l_oBikes = l_oFilter.Query.GetBikesAsync().Result.Response; Assert.AreEqual(1, l_oBikes.Count()); 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(12, l_oBikes.Count(), "List with zero element means filter all."); l_oFilter = new FilteredConnector(null, l_oConnector); l_oBikes = l_oFilter.Query.GetBikesAsync().Result.Response; Assert.AreEqual(12, 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); } } }