public void CreateGetDelete_() { int ins1ID = _insDA.InsertInstrum("INS1", "", "", 10, 2, 1); int ins2ID = _insDA.InsertInstrum("INS2", "", "", 1, 0, 0); int id1 = _insStoreDA.CreateInsStore(ins1ID, Timeframes.Min, true); int id2 = _insStoreDA.CreateInsStore(ins2ID, Timeframes.Hour, true); int id3 = _insStoreDA.CreateInsStore(ins1ID, Timeframes.Min5, false); var insStore1 = _insStoreDA.GetInsStoreByID(id1); var insStore2 = _insStoreDA.GetInsStore(ins2ID, Timeframes.Hour); var actives = _insStoreDA.GetInsStores(null, null, true); var gazpInsStores = _insStoreDA.GetInsStores(ins1ID, null, true); Assert.Equal(id1, insStore1.InsStoreID); Assert.Equal(id2, insStore2.InsStoreID); Assert.Contains(id1, actives.Select(r => r.InsStoreID)); Assert.Contains(id2, actives.Select(r => r.InsStoreID)); Assert.DoesNotContain(id3, actives.Select(r => r.InsStoreID)); Assert.Contains(id1, gazpInsStores.Select(r => r.InsStoreID)); Assert.DoesNotContain(id3, gazpInsStores.Select(r => r.InsStoreID)); // cleanup _insStoreDA.DeleteInsStoreByID(id1); _insStoreDA.DeleteInsStoreByID(id2); _insStoreDA.DeleteInsStoreByID(id3); }
public void InsertGetInstrums_() { int id1 = _instrumDA.InsertInstrum("TICKER1", "“икер1", "“икер 1", 10, 2, 0.1m); int id2 = _instrumDA.InsertInstrum("TICKER2", "“икер2", "“икер 2", 1, 3, 1); var list = _instrumDA.GetInstrumList(); var instrums = _instrumDA.GetInstrums(); var item = list.FirstOrDefault(r => r.InsID == id1); var ins = instrums.FirstOrDefault(r => r.InsID == id1); Assert.Equal(id1, item.InsID); Assert.Equal("TICKER1", item.Ticker); Assert.Equal("“икер1", item.ShortName); Assert.Equal(id1, ins.InsID); Assert.Equal("TICKER1", ins.Ticker); Assert.Equal("“икер1", ins.ShortName); Assert.Equal("“икер 1", ins.Name); Assert.Equal(2, ins.Decimals); Assert.Equal(10, ins.LotSize); Assert.Equal(0.1m, ins.PriceStep); var ins1 = _instrumDA.GetInstrum(id1); var ins2 = _instrumDA.GetInstrum(0, "TICKER2"); Assert.Equal(id1, ins1.InsID); Assert.Equal("TICKER1", ins1.Ticker); Assert.Equal("“икер1", ins1.ShortName); Assert.Equal("“икер 1", ins1.Name); Assert.Equal(2, ins1.Decimals); Assert.Equal(10, ins1.LotSize); Assert.Equal(0.1m, ins1.PriceStep); Assert.Equal(id2, ins2.InsID); Assert.Equal("TICKER2", ins2.Ticker); Assert.Equal("“икер2", ins2.ShortName); Assert.Equal("“икер 2", ins2.Name); Assert.Equal(3, ins2.Decimals); Assert.Equal(1, ins2.LotSize); Assert.Equal(1, ins2.PriceStep); _instrumDA.DeleteInstrumByID(id1); _instrumDA.DeleteInstrumByID(id2); }
public void UpdatePeriods_() { int insID = _insDA.InsertInstrum("INS", "", "", 10, 2, 1); var s = _insStoreDA.GetInsStore(insID, Timeframes.Min); if (s != null) { _insStoreDA.DeleteInsStoreByID(s.InsStoreID); } int id = _insStoreDA.CreateInsStore(insID, Timeframes.Min, true); List <InsStorePeriod> periods = new List <InsStorePeriod>(); periods.Add(new InsStorePeriod(new DateTime(2018, 1, 1), new DateTime(2018, 1, 1), false)); _insStoreDA.UpdatePeriods(id, periods); var periods1 = _insStoreDA.GetPeriods(id).ToList(); Assert.Equal(new DateTime(2018, 1, 1), periods1.First().StartDate); Assert.Equal(new DateTime(2018, 1, 1), periods1.First().EndDate); Assert.False(periods1.First().IsLastDirty); periods.Add(new InsStorePeriod(new DateTime(2018, 1, 2), new DateTime(2018, 1, 3), true)); _insStoreDA.UpdatePeriods(id, periods); periods1 = _insStoreDA.GetPeriods(id).ToList(); Assert.Equal(2, periods1.Count); periods.RemoveAt(0); _insStoreDA.UpdatePeriods(id, periods); periods1 = _insStoreDA.GetPeriods(id).ToList(); Assert.Single(periods1); // cleanup periods1.Clear(); _insStoreDA.UpdatePeriods(id, periods1); periods1 = _insStoreDA.GetPeriods(id).ToList(); Assert.Empty(periods1); }
public TickHistoryTest() { DbContextOptionsBuilder <DaContext> builder = new DbContextOptionsBuilder <DaContext>(); builder.UseNpgsql("Username=postgres;Password=123;Host=localhost;Port=5432;Database=pulxer_test"); _options = builder.Options; _tickHistoryDA = new TickHistoryDA(_options); _insDA = new InstrumDA(_options); _insID = _insDA.InsertInstrum("III", "", "", 1, 1, 1); }
public void DeleteAccountData_() { int accID; // create var accDA = new AccountDA(_options); var insDA = new InstrumDA(_options); var posDA = new PositionDA(_options); int insID = insDA.InsertInstrum("", "", "", 1, 0, 1); accID = accDA.CreateAccount("code", "name", 100, true, AccountTypes.Test).AccountID; accDA.CreateCash(accID, 0, 0, 0, 0, 0, 0); var order = accDA.CreateOrder(accID, DateTime.Now, insID, Platform.BuySell.Buy, 1, null, Platform.OrderStatus.Active, null, 0); var trade = accDA.CreateTrade(accID, order.OrderID, DateTime.Now, insID, Platform.BuySell.Buy, 1, 0, 0, 0); var so = accDA.CreateStopOrder(accID, DateTime.Now, insID, Platform.BuySell.Buy, Platform.StopOrderType.StopLoss, null, 0, null, 0, Platform.StopOrderStatus.Active, null, 0); var h = accDA.CreateHolding(accID, insID, 1); var pos = posDA.CreatePosition(accID, insID, PosTypes.Long, DateTime.Now, 0, 0, null, null); posDA.AddPosTrade(pos.PosID, trade.TradeID); accDA.DeleteAccountData(accID); Assert.Null(accDA.GetCash(accID)); // данные удалились Assert.Empty(accDA.GetOrders(accID)); Assert.Empty(accDA.GetStopOrders(accID)); Assert.Empty(accDA.GetTrades(accID)); Assert.Empty(accDA.GetHoldings(accID)); Assert.Empty(posDA.GetPosTrades(new List <int>() { pos.PosID })); Assert.Empty(posDA.GetPositions(accID, false)); Assert.NotNull(accDA.GetAccountByID(accID)); // а сам account остался // cleanup insDA.DeleteInstrumByID(insID); accDA.DeleteAccount(accID); }