using System;
using NUnit.Framework;
using Rhino.Mocks;
using TINK.Model.Connector;
using TINK.Repository;
namespace TestTINKLib.Fixtures.ObjectTests.Connector
{
[TestFixture]
public class TestConnectorCache
{
///
/// Verifies that factory method returns correcty type depending on session cookie.
///
[Test]
public void TestCommandFactory()
{
var l_oCopri = MockRepository.GenerateStub();
// Construct not logged in version of connector.
var l_oCommand = new ConnectorCache(
new AppContextInfo("MyMerchId", "MyApp", new Version(1, 2)),
null /*UI language */,
"", // Not logged in
"",
server: l_oCopri).Command;
Assert.AreEqual(typeof(Command), l_oCommand.GetType());
}
///
/// Verifies that factory method returns correcty type depending on session cookie.
///
[Test]
public void TestCommandFactory_LoggedIn()
{
var l_oCopri = MockRepository.GenerateStub();
var l_oCommand = new ConnectorCache(
new AppContextInfo("MyMerchId", "MyApp", new Version(1, 2)),
null /*UI language */,
"123", // Logged in
"a@b",
server: l_oCopri).Command;
Assert.AreEqual(typeof(CommandLoggedIn), l_oCommand.GetType());
}
///
/// Verifies that factory method returns correcty type depending on session cookie.
///
[Test]
public void TestQueryFactory_CachedServer()
{
var l_oCopri = MockRepository.GenerateStub();
var l_oQuery = new ConnectorCache(
new AppContextInfo("MyMerchId", "MyApp", new Version(1, 2)),
null /*UI language */,
"",
"",
server: l_oCopri).Query;
Assert.AreEqual(typeof(TINK.Model.Connector.Query), l_oQuery.GetType());
}
///
/// Verifies that factory method returns correcty type depending on session cookie.
///
[Test]
public void TestQueryFactory_LoggedIn()
{
var l_oCopri = MockRepository.GenerateStub();
var l_oQuery = new ConnectorCache(
new AppContextInfo("MyMerchId", "MyApp", new Version(1, 2)),
null /*UI language */,
"123",
"a@b",
server: l_oCopri).Query;
Assert.AreEqual(typeof(QueryLoggedIn), l_oQuery.GetType());
}
}
}