public void ShfeTopTransactionContractTest() { DateTime date = new DateTime(2014, 1, 6); string webText = TestUtility.RetrieveWebPage(date, new ShfeDailyTransactionCrawler()); var parser = new ShfeTransactionParser(); var listFromWeb = parser.GetTopContracts(webText, 2, date); string[] topContracts = new string[] { "cu1403", "cu1404", "al1403", "al1404", "zn1403", "zn1404", "pb1401", "pb1402", "au1412", "au1406", "ag1401", "ag1406", "rb1405", "rb1410", "ru1405", "ru1409" }; var listOfCommodity = listFromWeb.GroupBy(c => c.Commodity); foreach (var contracts in listOfCommodity) { if (contracts.Count() > 2) { Assert.Fail(); } } var webTopContracts = listFromWeb.Select(c => c.Commodity + c.Contract); var joinResult = webTopContracts.Join(topContracts, s => s, s => s, (s1, s2) => s1); int jc = joinResult.Count(); Assert.IsTrue(joinResult.Count() == topContracts.Length); }
public void ShfeHolidayTransactionContractListTest() { DateTime date = new DateTime(2015, 1, 1); string webText = TestUtility.RetrieveWebPage(date, new ShfeDailyTransactionCrawler()); var parser = new ShfeTransactionParser(); var listFromWeb = parser.GetContractList(webText, date); Assert.IsTrue(listFromWeb.Count == 0); }
static void Main(string[] args) { var connection = ConfigurationManager.ConnectionStrings["CloudDBConnect"]; var dataStore = new FuturesDataStore(connection.ConnectionString); DateTime startDate = new DateTime(2015, 2, 1); DateTime endDate = new DateTime(2015, 2, 28);; var dceTransactionCrawler = new DceDailyTransactionCrawler(); dceTransactionCrawler.RuntimeLogger = Logger; var dceTransactionParser = new DceTransactionParser(); dceTransactionCrawler.PullData(startDate, endDate, (text, transDate) => DceDataHandler(text, transDate.Date, dataStore)); var shfeTransactionCrawler = new ShfeDailyTransactionCrawler(); shfeTransactionCrawler.RuntimeLogger = Logger; var shfeTransactionParser = new ShfeTransactionParser(); shfeTransactionCrawler.PullData(startDate, endDate, (text, transDate) => { HandleDailyTransactionData(shfeTransactionParser, text, transDate.Date, dataStore); }); var shfePositionCrawler = new ShfeDealerPositionCrawler(); shfePositionCrawler.RuntimeLogger = Logger; var shfePositionParser = new ShfeDealerPositionParser(); shfePositionCrawler.PullData(startDate, endDate, (text, transDate) => { HandlePositionData(shfePositionParser, text, transDate.Date, dataStore); }); var czceTransactionCrawler = new CzceDailyTransactionCrawler(); czceTransactionCrawler.RuntimeLogger = Logger; var czceTransactionParser = new CzceTransactionParser(); czceTransactionCrawler.PullData(startDate, endDate, (text, transDate) => { HandleDailyTransactionData(czceTransactionParser, text, transDate.Date, dataStore); }); var czcePositionCrawler = new CzceDealerPositionCrawler(); czcePositionCrawler.RuntimeLogger = Logger; var czcePositionParser = new CzceDealerPositionParser(); czcePositionCrawler.PullData(startDate, endDate, (text, transDate) => { HandlePositionData(czcePositionParser, text, transDate.Date, dataStore); }); System.Console.WriteLine("\n\n\n\n==================================\nFinished!!!!"); System.Console.ReadLine(); }
public void ShfeTransactionContractListTest() { DateTime date = new DateTime(2014, 1, 6); string webText = TestUtility.RetrieveWebPage(date, new ShfeDailyTransactionCrawler()); var parser = new ShfeTransactionParser(); var listFromWeb = parser.GetContractList(webText, date); var testData = new List <ContractTransactionInfo>(); testData.Add(new ContractTransactionInfo(date, "shfe", "cu", "1403", 51900, 52080, 51670, 51770, 51890, 243308, 220868)); testData.Add(new ContractTransactionInfo(date, "shfe", "al", "1412", 13990, 13990, 13960, 13960, 13980, 6, 14)); testData.Add(new ContractTransactionInfo(date, "shfe", "pb", "1409", -1, -1, -1, 14550, 14550, 0, 0)); testData.Add(new ContractTransactionInfo(date, "shfe", "fu", "1404", -1, -1, -1, 4150, 4150, 0, 12)); testData.Add(new ContractTransactionInfo(date, "shfe", "ru", "1411", 17510, 17640, 17290, 17290, 17465, 130, 1060)); testData.Add(new ContractTransactionInfo(date, "shfe", "au", "1406", 245.5, 248.35, 244.65, 246.90, 246.35, 240660, 170620)); ValidateValues(testData, listFromWeb); }