コード例 #1
0
ファイル: DataParserTest.cs プロジェクト: YaleLi/FuturesData
        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);
        }