public void PythonGetCustomData_Iterate_IndexedLinkedData() { using (Py.GIL()) { dynamic test = PythonEngine.ModuleFromString("testModule", @" from AlgorithmImports import * from QuantConnect.Data.Custom.IconicTypes import * from QuantConnect.Logging import * def Test(slice): data = slice.Get(IndexedLinkedData) count = 0 for singleData in data: Log.Trace(str(singleData)) count += 1 if count != 2: raise Exception('Unexpected value')").GetAttr("Test"); var indexedLinkedDataSpy = new IndexedLinkedData { Symbol = Symbols.SPY, Time = DateTime.Now, Value = 10 }; var tradeBarAapl = new TradeBar { Symbol = Symbols.AAPL, Time = DateTime.Now, Value = 9 }; var indexedLinkedDataAapl = new IndexedLinkedData { Symbol = Symbols.AAPL, Time = DateTime.Now, Value = 11 }; var slice = new Slice(DateTime.Now, new BaseData[] { indexedLinkedDataSpy, tradeBarAapl, indexedLinkedDataAapl }); Assert.DoesNotThrow(() => test(new PythonSlice(slice))); } }
private Slice GetSlice() { SymbolCache.Clear(); var indexedLinkedDataSpy = new IndexedLinkedData { Symbol = Symbols.SPY, Time = DateTime.Now, Value = 10 }; var tradeBarAapl = new TradeBar { Symbol = Symbols.AAPL, Time = DateTime.Now, Value = 9 }; var indexedLinkedDataAapl = new IndexedLinkedData { Symbol = Symbols.AAPL, Time = DateTime.Now, Value = 11 }; return new Slice(DateTime.Now, new BaseData[] { indexedLinkedDataSpy, tradeBarAapl, indexedLinkedDataAapl }); }