public void VersionTest() { StingrayOQ_Accessor target = new StingrayOQ_Accessor(); string version = target.Version(); //Version must match AssemblyVersion in Mockups->AssemblyInfo.cs Assert.AreEqual("1.42.3.5", version, "Version"); }
public void infoTest() { StingrayOQ_Accessor target = new StingrayOQ_Accessor(); // TODO: Initialize to an appropriate value target.InitLogger(); target.info("My Info Text"); logger.Verify(log => log.AddLog(LoggerLevel.Information, It.IsRegex("My Info Text"))); }
public void errorTest() { StingrayOQ_Accessor target = new StingrayOQ_Accessor(); target.InitLogger(); target.error("My Error Text"); logger.Verify(log => log.AddLog(LoggerLevel.Error, It.IsRegex("My Error Text"))); }
public void InstrumentTypeToSecurityType_Futures_Test() { StingrayOQ_Accessor target = new StingrayOQ_Accessor(); InstrumentType instrType = InstrumentType.Futures; SecurityType secType = new SecurityType(); bool result = Helpers.InstrumentTypeToSecurityType(instrType, out secType); Assert.IsTrue(result, "returns true"); Assert.AreEqual(SecurityType.Future, secType); }
public void OQTimeInForceToIBTimeInForce_GTC_Test() { StingrayOQ_Accessor target = new StingrayOQ_Accessor(); OQ.TimeInForce oqtif = OQ.TimeInForce.GTC; IB.TimeInForce ibtif; bool result = Helpers.OQTimeInForceToIBTimeInForce(oqtif, out ibtif); Assert.IsTrue(result, "returns true"); Assert.AreEqual(IB.TimeInForce.GoodTillCancel, ibtif, "IB Time in Force"); }
public void OQOrderTypeToIBOrderType_Limit_Test() { StingrayOQ_Accessor target = new StingrayOQ_Accessor(); OQ.OrderType oqtype = OQ.OrderType.Limit; IB.OrderType ibtype; bool result = Helpers.OQOrderTypeToIBOrderType(oqtype, out ibtype); Assert.IsTrue(result, "returns true"); Assert.AreEqual(IB.OrderType.Limit, ibtype, "IB Order Type"); }
public void OQFAMethodTOIBFAMethod_NetLiq_Test() { StingrayOQ_Accessor target = new StingrayOQ_Accessor(); OQ.IBFaMethod oqFaMethod = IBFaMethod.NetLiq; FinancialAdvisorAllocationMethod ibFaMethod; bool result = Helpers.OQFAMethodTOIBFAMethod(oqFaMethod, out ibFaMethod); Assert.IsTrue(result); Assert.AreEqual(IB.FinancialAdvisorAllocationMethod.NetLiquidity, ibFaMethod); }
public void StingrayOQnextValidIDLoggerTest() { StingrayOQ_Accessor target = new StingrayOQ_Accessor(); target.InitLogger(); target.ibclient_NextValidId(null, new NextValidIdEventArgs(123)); logger.Verify( log => log.AddLog(LoggerLevel.Detail, It.IsRegex("START.* ibclient_NextValidId.*: ID= 123 waiting for private_lock"))); logger.Verify(log => log.AddLog(LoggerLevel.Detail, It.IsRegex("END.* ibclient_NextValidId()"))); }
public void MyTestInitialize() { // Setup Logger logger = new Mock <Logger>(); Factory.mockLogger = logger.Object; // create file directory for log files string bp = AppDomain.CurrentDomain.BaseDirectory.ToString(); Directory.CreateDirectory(bp); string bp2 = Path.Combine(bp, "bin"); Directory.CreateDirectory(bp2); // Setup IBClient mockIBClient = new Mock <IBClient>(); Factory.mockIBClient = mockIBClient.Object; // make ibclient.IConnected work correctly bool isConnected = false; mockIBClient.Setup(ib => ib.Connected).Returns(() => isConnected); mockIBClient.Setup(ib => ib.Connect("MyTestHost", 6543, 9876)).Callback(() => isConnected = true); // other calls mockIBClient.Setup(ib => ib.ServerVersion).Returns(42); mockIBClient.Setup(ib => ib.TwsConnectionTime).Returns("03:04:05 2011-11-08"); // Invoke ibclient Events (Callbacks) mockIBClient.Setup(ib => ib.RequestIds(1)) .Raises(ib => ib.NextValidId += null, new NextValidIdEventArgs(42)); mockIBClient.Setup(ib => ib.RequestManagedAccts()) .Raises(ib => ib.ManagedAccounts += null, new ManagedAccountsEventArgs("U111,U222")); // mockIBClient.Setup(ib => ib.Disconnect()).Callback(() => isConnected = false); // does not work... mockIBClient.Setup(ib => ib.Disconnect()).Raises(ib => ib.ConnectionClosed += null, new ConnectionClosedEventArgs()); // Setup UserProvider userProvider = new Mock <UserProviderWrapper>(); Factory.userProviderWrapper = userProvider.Object; // Connect StingrayOQ target = new StingrayOQ_Accessor(); target.Hostname = "MyTestHost"; target.ClientId = 9876; // used for all orders target.Port = 6543; target.Connect(); }
public void StingrayOQConstructorTest() { // StingrayOQ target = new StingrayOQ(); StingrayOQ_Accessor target = new StingrayOQ_Accessor(); // base Properties Assert.AreEqual("finantic's Execution Provider for Interactive Brokers", target.description, "Description"); Assert.AreEqual(129, target.id, "Id"); Assert.AreEqual("StingrayOQ", target.name, "Name"); Assert.AreEqual("http://www.finantic.de", target.url, "Url"); // Properties Assert.AreEqual("1.42.3.5", target.StingrayOQVersion, "StingrayOQVersion"); Assert.AreEqual(4262, target.ClientId, "ClientId"); Assert.AreEqual("127.0.0.1", target.Hostname, "HostName"); Assert.AreEqual(LogDestination.File, target.LogDestination, "LogDestination"); Assert.AreEqual(LoggerLevel.Error, target.LoggerLevel, "LoggerLevel"); Assert.AreEqual(false, target.OutsideRTH, "OutsideRTH"); Assert.AreEqual(7496, target.Port, "Port"); // TWS default port Assert.AreEqual(false, target.TWSConnected, "TWSConnected"); Assert.AreEqual(true, target.AutoTransmit, "AutoTransmit"); // FA Assert.AreEqual(FinancialAdvisorAllocationMethod.None, target.FAMethod, "FAMethod"); Assert.AreEqual(null, target.FAGroup, "FAGroup"); Assert.AreEqual(null, target.FAPercentage, "FAPercentage"); Assert.AreEqual(null, target.FAProfile, "FAProfile"); //Version must match AssemblyVersion in Mockups->AssemblyInfo.cs Assert.AreEqual("1.42.3.5", target.Version(), "Version"); // Accounts Assert.IsNotNull(target.Accounts, "Accounts not null"); // Broker Info BrokerInfo brokerInfo = target.GetBrokerInfo(); Assert.IsNotNull(brokerInfo, "brokerInfo not null"); }
public void MyTestInitialize() { // Setup Logger logger = new Mock<Logger>(); Factory.mockLogger = logger.Object; // create file directory for log files string bp = AppDomain.CurrentDomain.BaseDirectory.ToString(); Directory.CreateDirectory(bp); string bp2 = Path.Combine(bp, "bin"); Directory.CreateDirectory(bp2); // Setup IBClient mockIBClient = new Mock<IBClient>(); Factory.mockIBClient = mockIBClient.Object; // make ibclient.IConnected work correctly bool isConnected = false; mockIBClient.Setup(ib => ib.Connected).Returns(() => isConnected); mockIBClient.Setup(ib => ib.Connect("MyTestHost", 6543, 9876)).Callback(() => isConnected = true); // other calls mockIBClient.Setup(ib => ib.ServerVersion).Returns(42); mockIBClient.Setup(ib => ib.TwsConnectionTime).Returns("03:04:05 2011-11-08"); // Invoke ibclient Events (Callbacks) mockIBClient.Setup(ib => ib.RequestIds(1)) .Raises(ib => ib.NextValidId += null, new NextValidIdEventArgs(42)); mockIBClient.Setup(ib => ib.RequestManagedAccts()) .Raises(ib => ib.ManagedAccounts += null, new ManagedAccountsEventArgs("U111,U222")); // mockIBClient.Setup(ib => ib.Disconnect()).Callback(() => isConnected = false); // does not work... mockIBClient.Setup(ib => ib.Disconnect()).Raises(ib => ib.ConnectionClosed += null, new ConnectionClosedEventArgs()); // Setup UserProvider userProvider = new Mock<UserProviderWrapper>(); Factory.userProviderWrapper = userProvider.Object; // Connect StingrayOQ target = new StingrayOQ_Accessor(); target.Hostname = "MyTestHost"; target.ClientId = 9876; // used for all orders target.Port = 6543; target.Connect(); }
public void OQFAMethodTOIBFAMethod_None_Test() { StingrayOQ_Accessor target = new StingrayOQ_Accessor(); OQ.IBFaMethod oqFaMethod = IBFaMethod.Undefined; FinancialAdvisorAllocationMethod ibFaMethod; bool result = Helpers.OQFAMethodTOIBFAMethod(oqFaMethod, out ibFaMethod); Assert.IsTrue(result); Assert.AreEqual(IB.FinancialAdvisorAllocationMethod.None, ibFaMethod); }
public void OQOrderTypeToIBOrderType_Market_Test() { StingrayOQ_Accessor target = new StingrayOQ_Accessor(); OQ.OrderType oqtype = OQ.OrderType.Market; IB.OrderType ibtype; bool result = Helpers.OQOrderTypeToIBOrderType(oqtype, out ibtype); Assert.IsTrue(result, "returns true"); Assert.AreEqual(IB.OrderType.Market, ibtype, "IB Order Type"); }
public void ConnectTest() { Mock<IBClient> mockIBClient = new Mock<IBClient>(); Factory.mockIBClient = mockIBClient.Object; Mock<UserProviderWrapper> userProvider = new Mock<UserProviderWrapper>(); Factory.userProviderWrapper = userProvider.Object; // make ibclient.IConnected work correctly bool isConnected = false; mockIBClient.Setup(ib => ib.Connected).Returns(() => isConnected); mockIBClient.Setup(ib => ib.Connect("MyTestHost", 6543, 9876)).Callback(() => isConnected = true); // other calls mockIBClient.Setup(ib => ib.ServerVersion).Returns(42); mockIBClient.Setup(ib => ib.TwsConnectionTime).Returns("03:04:05 2011-11-08"); // Invoke ibclient Events (Callbacks) mockIBClient.Setup(ib => ib.RequestManagedAccts()) .Raises(ib => ib.ManagedAccounts += null, new ManagedAccountsEventArgs("U111,U222")); StingrayOQ_Accessor target = new StingrayOQ_Accessor(); target.Hostname = "MyTestHost"; target.ClientId = 9876; target.Port = 6543; target.Connect(); // Act logger.Verify(log => log.AddLog(LoggerLevel.Detail, It.IsRegex("START.* Initialize.*"))); logger.Verify(log => log.AddLog(LoggerLevel.Information, It.IsRegex("=== StingrayOQ V .* started ==="))); // CheckTWS logger.Verify(log => log.AddLog(LoggerLevel.Detail, It.IsRegex("START.* CheckTWS.*"))); // openConnection logger.Verify(log => log.AddLog(LoggerLevel.Detail, It.IsRegex("START.* openConnection.*"))); logger.Verify(log => log.AddLog(LoggerLevel.Detail, "new IBClient")); logger.Verify(log => log.AddLog(LoggerLevel.Detail, "Connect")); mockIBClient.Verify(ib => ib.Connect("MyTestHost", 6543, 9876)); mockIBClient.Verify(ib => ib.RequestManagedAccts()); logger.Verify(log => log.AddLog(LoggerLevel.Information, It.IsRegex("2 Accounts found"))); // RequestAccount Updates mockIBClient.Verify(ib => ib.RequestAccountUpdates(true, "U111")); mockIBClient.Verify(ib => ib.RequestAccountUpdates(true, "U222")); logger.Verify(log => log.AddLog(LoggerLevel.Detail, It.IsRegex("Request account updates for U111"))); logger.Verify(log => log.AddLog(LoggerLevel.Detail, It.IsRegex("Request account updates for U222"))); // Request Open Orders mockIBClient.Verify(ib => ib.RequestOpenOrders()); // Request IDs mockIBClient.Verify(ib => ib.RequestIds(1)); logger.Verify( log => log.AddLog(LoggerLevel.Information, It.IsRegex("Connected, Server Version = 42, Connection Time = 03:04:05 2011-11-08"))); // EmitConncted userProvider.Verify(up => up.EmitConnected()); logger.Verify(log => log.AddLog(LoggerLevel.Detail, It.IsRegex("END.* openConnection.*"))); logger.Verify(log => log.AddLog(LoggerLevel.Detail, It.IsRegex("END.* CheckTWS.*"))); logger.Verify(log => log.AddLog(LoggerLevel.Detail, It.IsRegex("END.* Initialize.*"))); // never saw an error? logger.Verify(log => log.AddLog(LoggerLevel.Error, It.IsAny<string>()), Times.Never(), "unexpected error log"); // State Assert.IsTrue(target.IsConnected, "IsConnected"); Assert.IsTrue(target.TWSConnected, "TWSConnected"); }
public void ConnectTest() { Mock <IBClient> mockIBClient = new Mock <IBClient>(); Factory.mockIBClient = mockIBClient.Object; Mock <UserProviderWrapper> userProvider = new Mock <UserProviderWrapper>(); Factory.userProviderWrapper = userProvider.Object; // make ibclient.IConnected work correctly bool isConnected = false; mockIBClient.Setup(ib => ib.Connected).Returns(() => isConnected); mockIBClient.Setup(ib => ib.Connect("MyTestHost", 6543, 9876)).Callback(() => isConnected = true); // other calls mockIBClient.Setup(ib => ib.ServerVersion).Returns(42); mockIBClient.Setup(ib => ib.TwsConnectionTime).Returns("03:04:05 2011-11-08"); // Invoke ibclient Events (Callbacks) mockIBClient.Setup(ib => ib.RequestManagedAccts()) .Raises(ib => ib.ManagedAccounts += null, new ManagedAccountsEventArgs("U111,U222")); StingrayOQ_Accessor target = new StingrayOQ_Accessor(); target.Hostname = "MyTestHost"; target.ClientId = 9876; target.Port = 6543; target.Connect(); // Act logger.Verify(log => log.AddLog(LoggerLevel.Detail, It.IsRegex("START.* Initialize.*"))); logger.Verify(log => log.AddLog(LoggerLevel.Information, It.IsRegex("=== StingrayOQ V .* started ==="))); // CheckTWS logger.Verify(log => log.AddLog(LoggerLevel.Detail, It.IsRegex("START.* CheckTWS.*"))); // openConnection logger.Verify(log => log.AddLog(LoggerLevel.Detail, It.IsRegex("START.* openConnection.*"))); logger.Verify(log => log.AddLog(LoggerLevel.Detail, "new IBClient")); logger.Verify(log => log.AddLog(LoggerLevel.Detail, "Connect")); mockIBClient.Verify(ib => ib.Connect("MyTestHost", 6543, 9876)); mockIBClient.Verify(ib => ib.RequestManagedAccts()); logger.Verify(log => log.AddLog(LoggerLevel.Information, It.IsRegex("2 Accounts found"))); // RequestAccount Updates mockIBClient.Verify(ib => ib.RequestAccountUpdates(true, "U111")); mockIBClient.Verify(ib => ib.RequestAccountUpdates(true, "U222")); logger.Verify(log => log.AddLog(LoggerLevel.Detail, It.IsRegex("Request account updates for U111"))); logger.Verify(log => log.AddLog(LoggerLevel.Detail, It.IsRegex("Request account updates for U222"))); // Request Open Orders mockIBClient.Verify(ib => ib.RequestOpenOrders()); // Request IDs mockIBClient.Verify(ib => ib.RequestIds(1)); logger.Verify( log => log.AddLog(LoggerLevel.Information, It.IsRegex("Connected, Server Version = 42, Connection Time = 03:04:05 2011-11-08"))); // EmitConncted userProvider.Verify(up => up.EmitConnected()); logger.Verify(log => log.AddLog(LoggerLevel.Detail, It.IsRegex("END.* openConnection.*"))); logger.Verify(log => log.AddLog(LoggerLevel.Detail, It.IsRegex("END.* CheckTWS.*"))); logger.Verify(log => log.AddLog(LoggerLevel.Detail, It.IsRegex("END.* Initialize.*"))); // never saw an error? logger.Verify(log => log.AddLog(LoggerLevel.Error, It.IsAny <string>()), Times.Never(), "unexpected error log"); // State Assert.IsTrue(target.IsConnected, "IsConnected"); Assert.IsTrue(target.TWSConnected, "TWSConnected"); }