public void GenerateFutureTickerExpiringInPreviousMonth() { // CL Dec17 expires in Nov17 var result = SymbolRepresentation.GenerateFutureTicker("CL", new DateTime(2017, 11, 20)); Assert.AreEqual("CL20Z17", result); }
[TestCase("ABC", 2017, 12, 20, "ABC20Z17", true)] // Generic contract (i.e. expires current month public void GenerateFutureTickerExpiringInCurrentMonth(string underlying, int year, int month, int day, string ticker, bool doubleDigitsYear) { // CL Dec17 expires in Nov17 var result = SymbolRepresentation.GenerateFutureTicker(underlying, new DateTime(year, month, day), doubleDigitsYear); Assert.AreEqual(ticker, result); }
public void GenerateFuturesTickersBackAndForth() { const string expected = @"ED01Z16"; var result = SymbolRepresentation.ParseFutureTicker(expected); var ticker = SymbolRepresentation.GenerateFutureTicker(result.Underlying, new DateTime(2000 + result.ExpirationYearShort, result.ExpirationMonth, result.ExpirationDay)); Assert.AreEqual(expected, ticker); }
public void GenerateFuturesTickers() { const string ticker = @"ED"; var result = SymbolRepresentation.GenerateFutureTicker(ticker, new DateTime(2016, 12, 12)); // ticker contains two digits year of expiration Assert.AreEqual(result, "ED12Z16"); // ticker contains one digit year of expiration result = SymbolRepresentation.GenerateFutureTicker(ticker, new DateTime(2016, 12, 12), false); Assert.AreEqual(result, "ED12Z6"); }
public void GenerateFutureTickerExpiringInNextMonth(string ticker, int year, int month, int day, string expectedValue, bool doubleDigitsYear) { var result = SymbolRepresentation.GenerateFutureTicker(ticker, new DateTime(year, month, day), doubleDigitsYear); Assert.AreEqual(expectedValue, result); }