public void GetStoreFieldsWithNormalData() { var baseTime = new DateTime(2017, 1, 1); // Sec Assert.Equal(fields1, CandleTableEntity.GetStoreFields(TimeInterval.Sec, baseTime, baseTime.AddSeconds(1))); Assert.Equal(fields2, CandleTableEntity.GetStoreFields(TimeInterval.Sec, baseTime, baseTime.AddSeconds(61))); Assert.Equal(fields60, CandleTableEntity.GetStoreFields(TimeInterval.Sec, baseTime, baseTime.AddMinutes(59).AddSeconds(1))); // Min Assert.Equal(fields1, CandleTableEntity.GetStoreFields(TimeInterval.Minute, baseTime, baseTime.AddMinutes(1))); Assert.Equal(fields2, CandleTableEntity.GetStoreFields(TimeInterval.Minute, baseTime, baseTime.AddMinutes(61))); Assert.Equal(fields24, CandleTableEntity.GetStoreFields(TimeInterval.Minute, baseTime, baseTime.AddHours(23).AddMinutes(1))); // Min5 Assert.Equal(fields1, CandleTableEntity.GetStoreFields(TimeInterval.Min5, baseTime, baseTime.AddMinutes(1))); Assert.Equal(fields2, CandleTableEntity.GetStoreFields(TimeInterval.Min5, baseTime, baseTime.AddMinutes(61))); Assert.Equal(fields24, CandleTableEntity.GetStoreFields(TimeInterval.Min5, baseTime, baseTime.AddHours(23).AddMinutes(1))); // Min15 Assert.Equal(fields1, CandleTableEntity.GetStoreFields(TimeInterval.Min15, baseTime, baseTime.AddMinutes(1))); Assert.Equal(fields2, CandleTableEntity.GetStoreFields(TimeInterval.Min15, baseTime, baseTime.AddMinutes(61))); Assert.Equal(fields24, CandleTableEntity.GetStoreFields(TimeInterval.Min15, baseTime, baseTime.AddHours(23).AddMinutes(1))); // Min30 Assert.Equal(fields1, CandleTableEntity.GetStoreFields(TimeInterval.Min30, baseTime, baseTime.AddMinutes(1))); Assert.Equal(fields2, CandleTableEntity.GetStoreFields(TimeInterval.Min30, baseTime, baseTime.AddMinutes(61))); Assert.Equal(fields24, CandleTableEntity.GetStoreFields(TimeInterval.Min30, baseTime, baseTime.AddHours(23).AddMinutes(1))); // Hour Assert.Equal(fields1, CandleTableEntity.GetStoreFields(TimeInterval.Hour, baseTime, baseTime.AddHours(1))); Assert.Equal(fields2, CandleTableEntity.GetStoreFields(TimeInterval.Hour, baseTime, baseTime.AddHours(25))); Assert.Equal(fields31, CandleTableEntity.GetStoreFields(TimeInterval.Hour, baseTime, baseTime.AddDays(30).AddHours(1))); // Hour4 Assert.Equal(fields1, CandleTableEntity.GetStoreFields(TimeInterval.Hour4, baseTime, baseTime.AddHours(1))); Assert.Equal(fields2, CandleTableEntity.GetStoreFields(TimeInterval.Hour4, baseTime, baseTime.AddHours(25))); Assert.Equal(fields31, CandleTableEntity.GetStoreFields(TimeInterval.Hour4, baseTime, baseTime.AddDays(30).AddHours(1))); // Day Assert.Equal(fields1, CandleTableEntity.GetStoreFields(TimeInterval.Day, baseTime, baseTime)); Assert.Equal(fields2, CandleTableEntity.GetStoreFields(TimeInterval.Day, baseTime, baseTime.AddDays(32))); Assert.Equal(fields12, CandleTableEntity.GetStoreFields(TimeInterval.Day, baseTime, baseTime.AddMonths(11).AddDays(1))); // Week Assert.Equal(fields1, CandleTableEntity.GetStoreFields(TimeInterval.Week, baseTime, baseTime)); Assert.Equal(fields1, CandleTableEntity.GetStoreFields(TimeInterval.Week, baseTime.AddDays(1), baseTime.AddDays(1))); Assert.Equal(fields1, CandleTableEntity.GetStoreFields(TimeInterval.Week, baseTime.AddDays(1), baseTime.AddDays(8))); Assert.Equal(fields1, CandleTableEntity.GetStoreFields(TimeInterval.Week, baseTime.AddDays(1), baseTime.AddDays(364))); // Month Assert.Equal(fields1, CandleTableEntity.GetStoreFields(TimeInterval.Month, baseTime, baseTime)); Assert.Equal(fields1, CandleTableEntity.GetStoreFields(TimeInterval.Month, baseTime, baseTime.AddMonths(1))); Assert.Equal(fields1, CandleTableEntity.GetStoreFields(TimeInterval.Month, baseTime, baseTime.AddMonths(13))); Assert.Equal(fields1, CandleTableEntity.GetStoreFields(TimeInterval.Month, baseTime, baseTime.AddYears(10).AddMonths(1))); }
public void GenerateRowKey_BasicTests() { // Week Assert.Equal("BUY_Week_0635874624000000000", CandleTableEntity.GenerateRowKey(new DateTime(2016, 12, 26), true, TimeInterval.Week)); // 04-Jan-2016 Assert.Equal("BUY_Week_0635874624000000000", CandleTableEntity.GenerateRowKey(new DateTime(2016, 12, 27), true, TimeInterval.Week)); // 04-Jan-2016 Assert.Equal("BUY_Week_0635874624000000000", CandleTableEntity.GenerateRowKey(new DateTime(2017, 1, 1), true, TimeInterval.Week)); // 04-Jan-2016 Assert.Equal("BUY_Week_0636189120000000000", CandleTableEntity.GenerateRowKey(new DateTime(2017, 1, 2), true, TimeInterval.Week)); // 02-Jan-2017 Assert.Equal("BUY_Week_0636189120000000000", CandleTableEntity.GenerateRowKey(new DateTime(2017, 1, 30), true, TimeInterval.Week)); // 02-Jan-2017 Assert.Equal("BUY_Week_0636189120000000000", CandleTableEntity.GenerateRowKey(new DateTime(2017, 2, 1), true, TimeInterval.Week)); // 02-Jan-2017 Assert.Equal("BUY_Week_0636189120000000000", CandleTableEntity.GenerateRowKey(new DateTime(2017, 2, 6), true, TimeInterval.Week)); // 02-Jan-2017 }
public void GenerateRowKey_BasicTests() { // Sec Assert.Equal("2016-12-26T17:59:00", CandleTableEntity.GenerateRowKey(new DateTime(2016, 12, 26, 17, 59, 59), TimeInterval.Sec)); // Min Assert.Equal("2016-12-26T17:00:00", CandleTableEntity.GenerateRowKey(new DateTime(2016, 12, 26, 17, 59, 59), TimeInterval.Minute)); // Hour Assert.Equal("2016-12-26T00:00:00", CandleTableEntity.GenerateRowKey(new DateTime(2016, 12, 26, 17, 59, 59), TimeInterval.Hour)); // Week Assert.Equal("2016-01-04T00:00:00", CandleTableEntity.GenerateRowKey(new DateTime(2016, 12, 26), TimeInterval.Week)); Assert.Equal("2016-01-04T00:00:00", CandleTableEntity.GenerateRowKey(new DateTime(2016, 12, 27), TimeInterval.Week)); Assert.Equal("2016-01-04T00:00:00", CandleTableEntity.GenerateRowKey(new DateTime(2017, 1, 1), TimeInterval.Week)); Assert.Equal("2017-01-02T00:00:00", CandleTableEntity.GenerateRowKey(new DateTime(2017, 1, 2), TimeInterval.Week)); Assert.Equal("2017-01-02T00:00:00", CandleTableEntity.GenerateRowKey(new DateTime(2017, 1, 30), TimeInterval.Week)); Assert.Equal("2017-01-02T00:00:00", CandleTableEntity.GenerateRowKey(new DateTime(2017, 2, 1), TimeInterval.Week)); Assert.Equal("2017-01-02T00:00:00", CandleTableEntity.GenerateRowKey(new DateTime(2017, 2, 6), TimeInterval.Week)); }
public void PropertiesParsedFromKeys() { // Ask var entityAsk = new CandleTableEntity("Ask", "2017-05-12T10:00:00"); Assert.Equal(PriceType.Ask, entityAsk.PriceType); Assert.Equal(new DateTime(2017, 5, 12, 10, 0, 0, DateTimeKind.Utc), entityAsk.DateTime); // Bid var entityBid = new CandleTableEntity("Bid", "2017-05-12T11:05:00"); Assert.Equal(PriceType.Bid, entityBid.PriceType); Assert.Equal(new DateTime(2017, 5, 12, 11, 05, 0, DateTimeKind.Utc), entityBid.DateTime); // Mid var entityMid = new CandleTableEntity("Mid", "2017-05-12T11:10:00"); Assert.Equal(PriceType.Mid, entityMid.PriceType); Assert.Equal(new DateTime(2017, 5, 12, 11, 10, 0, DateTimeKind.Utc), entityMid.DateTime); }
public void PropertiesParsedFromKeys() { // Month var entityMonth = new CandleTableEntity("BTCRUB", "SELL_Month_636188256000000000"); // "2017" Assert.Equal("BTCRUB", entityMonth.Asset); Assert.False(entityMonth.IsBuy); Assert.Equal(new DateTime(2017, 1, 1, 0, 0, 0, DateTimeKind.Utc), entityMonth.DateTime); // Week var entityWeek = new CandleTableEntity("BTCRUB", "SELL_Week_636189120000000000"); // "02-jan-2017" Assert.Equal("BTCRUB", entityWeek.Asset); Assert.False(entityWeek.IsBuy); Assert.Equal(new DateTime(2017, 1, 2, 0, 0, 0, DateTimeKind.Utc), entityWeek.DateTime); // Day var entityDay = new CandleTableEntity("BTCRUB", "BUY_Day_636188256000000000"); // "2017-01" Assert.Equal("BTCRUB", entityDay.Asset); Assert.True(entityDay.IsBuy); Assert.Equal(new DateTime(2017, 1, 1, 0, 0, 0, DateTimeKind.Utc), entityDay.DateTime); // Hour var entityHour = new CandleTableEntity("BTCRUB", "SELL_Hour_636189120000000000"); // "2017-01-02" Assert.Equal("BTCRUB", entityHour.Asset); Assert.False(entityHour.IsBuy); Assert.Equal(new DateTime(2017, 1, 2, 0, 0, 0, DateTimeKind.Utc), entityHour.DateTime); // Hour4 var entityHour4 = new CandleTableEntity("BTCRUB", "SELL_Hour_636189120000000000"); // "2017-01-02" Assert.Equal("BTCRUB", entityHour4.Asset); Assert.False(entityHour4.IsBuy); Assert.Equal(new DateTime(2017, 1, 2, 0, 0, 0, DateTimeKind.Utc), entityHour4.DateTime); // Min30 var entityMin30 = new CandleTableEntity("BTCRUB", "buy_Min30_636189120000000000"); // "2017-01-02T00" Assert.Equal("BTCRUB", entityMin30.Asset); Assert.True(entityMin30.IsBuy); Assert.Equal(new DateTime(2017, 1, 2, 0, 0, 0, DateTimeKind.Utc), entityMin30.DateTime); // Min15 var entityMin15 = new CandleTableEntity("BTCRUB", "sell_Min15_636189156000000000"); // "2017-01-02T01" Assert.Equal("BTCRUB", entityMin15.Asset); Assert.False(entityMin15.IsBuy); Assert.Equal(new DateTime(2017, 1, 2, 1, 0, 0, DateTimeKind.Utc), entityMin15.DateTime); // Min5 var entityMin5 = new CandleTableEntity("BTCRUB", "BUY_Min5_636189192000000000"); // "2017-01-02T02" Assert.Equal("BTCRUB", entityMin5.Asset); Assert.True(entityMin5.IsBuy); Assert.Equal(new DateTime(2017, 1, 2, 2, 0, 0, DateTimeKind.Utc), entityMin5.DateTime); // Min var entityMinute = new CandleTableEntity("BTCRUB", "SELL_Minute_636189228000000000"); // "2017-01-02T03" Assert.Equal("BTCRUB", entityMinute.Asset); Assert.False(entityMinute.IsBuy); Assert.Equal(new DateTime(2017, 1, 2, 3, 0, 0, DateTimeKind.Utc), entityMinute.DateTime); // Sec var entitySec = new CandleTableEntity("BTCRUB", "BUY_Sec_636189191400000000");// "2017-01-02T01:59" Assert.Equal("BTCRUB", entitySec.Asset); Assert.True(entitySec.IsBuy); Assert.Equal(new DateTime(2017, 1, 2, 1, 59, 0, DateTimeKind.Utc), entitySec.DateTime); }