Example #1
0
        public void TestMiscData()
        {
            IPdfService pdfService  = new PdfTextSharpService();
            var         pseDocument = new PSEDocument();

            IPSEReportReader reader = new PSEReportReader2();

            reader.Fill(pseDocument, pdfService.ExtractTextFromPdf(_reportFile));

            //NO.OF ADVANCES: 114
            //NO.OF DECLINES: 79
            //NO.OF UNCHANGED: 42

            //NO.OF TRADED ISSUES: 235
            //NO.OF TRADES: 92,699
            //ODDLOT VOLUME:      791,591
            //ODDLOT VALUE:         Php 267,667.16
            //BLOCK SALE VOLUME: 248,879,170
            //BLOCK SALE VALUE: Php 3,836,846,796.68

            var expected = 0.0;
            var actual   = 0.0;

            expected = 114;
            actual   = pseDocument.NumAdvance;
            Assert.AreEqual(expected, actual, "Advances does not match.");

            expected = 79;
            actual   = pseDocument.NumDeclines;
            Assert.AreEqual(expected, actual, "Declines does not match.");

            expected = 42;
            actual   = pseDocument.NumUnchanged;
            Assert.AreEqual(expected, actual, "Unchanged does not match.");
        }
Example #2
0
        public void TestSectorStockCount()
        {
            IPdfService pdfService  = new PdfTextSharpService();
            var         pseDocument = new PSEDocument();

            IPSEReportReader reader = new PSEReportReader2();

            reader.Fill(pseDocument, pdfService.ExtractTextFromPdf(_reportFile));

            var finance  = pseDocument.GetSector(PSEDocument.FINANCIAL);
            var expected = 0;
            var actual   = 0;

            Assert.AreEqual(expected, actual, PSEDocument.FINANCIAL + " sector stock count fail.");

            var industrial = pseDocument.GetSector(PSEDocument.INDUSTRIAL);

            expected = 0;
            actual   = 0;
            Assert.AreEqual(expected, actual, PSEDocument.INDUSTRIAL + " sector stock count fail.");

            var property = pseDocument.GetSector(PSEDocument.PROPERTY);

            expected = 0;
            actual   = 0;
            Assert.AreEqual(expected, actual, PSEDocument.PROPERTY + " sector stock count fail.");

            var services = pseDocument.GetSector(PSEDocument.SERVICE);

            expected = 0;
            actual   = 0;
            Assert.AreEqual(expected, actual, PSEDocument.SERVICE + " sector stock count fail.");

            var mining = pseDocument.GetSector(PSEDocument.MINING_OIL);

            expected = 0;
            Assert.AreEqual(expected, actual, PSEDocument.MINING_OIL + " sector stock count fail.");

            var preferred = pseDocument.GetSector(PSEDocument.PREFERRED);

            expected = 0;
            actual   = 0;
            Assert.AreEqual(expected, actual, PSEDocument.PREFERRED + " sector stock count fail.");

            var warrants = pseDocument.GetSector(PSEDocument.WARRANT);

            expected = 0;
            actual   = 0;
            Assert.AreEqual(expected, actual, PSEDocument.WARRANT + " sector stock count fail.");

            var sme = pseDocument.GetSector(PSEDocument.SME);

            expected = 0;
            actual   = 0;
            Assert.AreEqual(expected, actual, PSEDocument.SME + " sector stock count fail.");
        }
Example #3
0
        public void TestReaderFirstLine()
        {
            //PDFTextStripper stripper = new PDFTextStripper();
            var pdfSharpService = new PdfTextSharpService();

            var reader = new PSEReportReader2();

            //string expected = "The Philippine Stock Exchange, Inc";
            //string actual = reader.PSEReportString[0].Trim();
            //Assert.AreEqual(expected, actual);
        }
Example #4
0
        public void TestUnsupportedReportFormat(string fileToConvert)
        {
            IPdfService pdfService  = new PdfTextSharpService();
            var         pseDocument = new PSEDocument();

            IPSEReportReader reader = new PSEReportReader2();

            Assert.Throws(
                typeof(EUnsupportedReportFormat),
                new TestDelegate(() =>
            {
                reader.Fill(pseDocument, pdfService.ExtractTextFromPdf(fileToConvert));
            }),
                "An exception wasn't thrown");
        }
Example #5
0
        public void TestReaderFill_TradDate()
        {
            //PDFTextStripper stripper = new PDFTextStripper();
            var pdfSharpService = new PdfTextSharpService();
            var reader          = new PSEReportReader2();

            PSEDocument pd = new PSEDocument();

            reader.Fill(pd, pdfSharpService.ExtractTextFromPdf(pdfDocPath));

            DateTime expected = DateTime.Parse("05/05/2016");
            DateTime actual   = pd.TradeDate;

            Assert.AreEqual(expected, actual);
        }
Example #6
0
        public void TestMarketSummary_PSEi()
        {
            IPdfService pdfService  = new PdfTextSharpService();
            var         pseDocument = new PSEDocument();

            IPSEReportReader reader = new PSEReportReader2();

            reader.Fill(pseDocument, pdfService.ExtractTextFromPdf(_reportFile));

            //OPEN HIGH LOW CLOSE %CHANGE PT.CHANGE VOLUME VALUE, Php
            //PSEi 7,363.88 7,456.26 7,354.57 7,446.49 1.42 104.84
            //All Shares 4,424.05 4,464.21 4,420.44 4,460.56 1.06 47.14
            //GRAND TOTAL 1,949,153,231 11,941,051,832.83

            var expected = 0.0;
            var actual   = 0.0;

            //psei
            var psei = pseDocument.GetSector(PSEDocument.PSEI);

            expected = 7363.88;
            actual   = psei.Open;
            Assert.AreEqual(expected, actual, "PSEi open does not match");

            expected = 7456.26;
            actual   = psei.High;
            Assert.AreEqual(expected, actual, "PSEi high does not match");

            expected = 7354.57;
            actual   = psei.Low;
            Assert.AreEqual(expected, actual, "PSEi low does not match");

            expected = 7446.49;
            actual   = psei.Close;
            Assert.AreEqual(expected, actual, "PSEi close does not match");

            expected = 1949153231.0;
            actual   = psei.Volume;
            Assert.AreEqual(expected, actual, "PSEi Volume does not match");

            expected = 4076175042.08;
            actual   = psei.NetForeignBuy;
            Assert.AreEqual(expected, actual, "PSEi NFB does not match");

            //all shares
        }
Example #7
0
        public void TestMarketSummary_Financials()
        {
            IPdfService pdfService  = new PdfTextSharpService();
            var         pseDocument = new PSEDocument();

            IPSEReportReader reader = new PSEReportReader2();

            reader.Fill(pseDocument, pdfService.ExtractTextFromPdf(_reportFile));

            //OPEN HIGH LOW CLOSE %CHANGE PT.CHANGE VOLUME VALUE, Php
            //Financials 1,835.16 1,865.93 1,830.89 1,865.93 1.7 31.31 15,721,945 1,537,689,244.77
            //GRAND TOTAL 1,949,153,231 11,941,051,832.83

            var expected = 0.0;
            var actual   = 0.0;

            //psei
            var psei = pseDocument.GetSector(PSEDocument.FINANCIAL);

            expected = 1835.16;
            actual   = psei.Open;
            Assert.AreEqual(expected, actual, "FINANCIAL open does not match");

            expected = 1865.93;
            actual   = psei.High;
            Assert.AreEqual(expected, actual, "FINANCIAL high does not match");

            expected = 1830.89;
            actual   = psei.Low;
            Assert.AreEqual(expected, actual, "FINANCIAL low does not match");

            expected = 1865.93;
            actual   = psei.Close;
            Assert.AreEqual(expected, actual, "FINANCIAL close does not match");

            expected = 15721945.0;
            actual   = psei.Volume;
            Assert.AreEqual(expected, actual, "FINANCIAL Volume does not match");

            expected = 1537689244.77;
            actual   = psei.Value;
            Assert.AreEqual(expected, actual, "FINANCIAL Value does not match");

            //all shares
        }
Example #8
0
        static void ConvertIt(string fileToConvert)
        {
            IPdfService      pdfService  = new PdfTextSharpService();
            var              pseDocument = new PSEDocument();
            IPSEReportReader reader      = new PSEReportReader2();

            reader.Fill(pseDocument, pdfService.ExtractTextFromPdf(fileToConvert));
            if (_outputFormat.Contains("csv"))
            {
                string[] csvParam  = _outputFormat.Split(':');
                string   csvFormat = string.Empty;
                if (csvParam.Length == 2)
                {
                    csvFormat = csvParam[1];
                    csvFormat = csvFormat.Replace("S", "{S}");
                    csvFormat = csvFormat.Replace("D", "{D}");
                    csvFormat = csvFormat.Replace("O", "{O}");
                    csvFormat = csvFormat.Replace("H", "{H}");
                    csvFormat = csvFormat.Replace("L", "{L}");
                    csvFormat = csvFormat.Replace("C", "{C}");
                    csvFormat = csvFormat.Replace("V", "{V}");
                    csvFormat = csvFormat.Replace("F", "{F}");
                }
                else
                {
                    csvFormat = "{S},{D},{O},{H},{L},{C},{V},{F}";
                }

                var csvOutputSettings = new CSVOutputSettings();
                csvOutputSettings.CSVFormat              = csvFormat;
                csvOutputSettings.DateFormat             = _dateFormat;
                csvOutputSettings.Delimiter              = ",";
                csvOutputSettings.Filename               = Path.GetFileName(fileToConvert).Replace("pdf", "csv");
                csvOutputSettings.OutputDirectory        = _outputPath;
                csvOutputSettings.UseSectorValueAsVolume = true;
                csvOutputSettings.SectorVolumeDivider    = 1000;

                pseDocument.ToCSV(csvOutputSettings);
            }
        }
Example #9
0
        static void ConvertIt(string fileToConvert)
        {
            IPdfService      pdfService  = new PdfTextSharpService();
            var              pseDocument = new PSEDocument();
            IPSEReportReader reader      = new PSEReportReader2();

            reader.Fill(pseDocument, pdfService.ExtractTextFromPdf(fileToConvert));
            if (_outputFormat.Contains("csv"))
            {
                string[] csvParam  = _outputFormat.Split(':');
                string   csvFormat = string.Empty;
                if (csvParam.Length == 2)
                {
                    csvFormat = csvParam[1];
                    csvFormat = csvFormat.Replace("S", "{S}");
                    csvFormat = csvFormat.Replace("D", "{D}");
                    csvFormat = csvFormat.Replace("O", "{O}");
                    csvFormat = csvFormat.Replace("H", "{H}");
                    csvFormat = csvFormat.Replace("L", "{L}");
                    csvFormat = csvFormat.Replace("C", "{C}");
                    csvFormat = csvFormat.Replace("V", "{V}");
                    csvFormat = csvFormat.Replace("F", "{F}");
                }
                else
                {
                    csvFormat = "{S},{D},{O},{H},{L},{C},{V},{F}";
                }

                var csvOutputSettings = new CSVOutputSettings();
                csvOutputSettings.CSVFormat              = csvFormat;
                csvOutputSettings.DateFormat             = _dateFormat;
                csvOutputSettings.Delimiter              = ",";
                csvOutputSettings.Filename               = Path.GetFileName(fileToConvert).Replace("pdf", "csv");
                csvOutputSettings.OutputDirectory        = _outputPath;
                csvOutputSettings.UseSectorValueAsVolume = true;
                csvOutputSettings.SectorVolumeDivider    = 1000;

                pseDocument.ToCSV(csvOutputSettings);
            }
            else if ((HostOS.determineHostEnviroment() == HostOS.HostEnviroment.Windows) && (_outputFormat.Contains("ami")))
            {
                IAmibrokerService amiService = new AmibrokerService();
                if (!amiService.IsAmibrokerInstalled())
                {
                    throw new Exception("Error: Amibroker is not installed on this machine.");
                }

                string[] amiParam = _outputFormat.Split(':');
                if (amiParam.Length < 2)
                {
                    throw new Exception("Error: Unspecified Amibroker database folder.");
                }
                string amiDatabaseFolder = _outputFormat.Replace("ami:", string.Empty);

                var amiOutputSettings = new AmiOutputSettings();
                amiOutputSettings.DatabaseDirectory      = amiDatabaseFolder;
                amiOutputSettings.SectorVolumeDivider    = 1000;
                amiOutputSettings.UseSectorValueAsVolume = true;

                pseDocument.ToAmibroker(amiOutputSettings);
            }
        }
Example #10
0
        public void TestReader_SectorSummary()
        {
            //PDFTextStripper stripper = new PDFTextStripper();
            IPdfService pdfService = new PdfTextSharpService();
            var         reader     = new PSEReportReader2();

            var pd = new PSEDocument();

            reader.Fill(pd, pdfService.ExtractTextFromPdf(pdfDocPath));

            // psei
            SectorItem psei = pd.GetSector(PSEDocument.PSEI);

            ulong expected = 3150242905;
            ulong actual   = psei.Volume;

            Assert.AreEqual(expected, actual, "PSEi volume not equal");

            double expected_value = 5634576802.26;
            double actual_value   = pd.GetSector(PSEDocument.PSEI).Value;

            Assert.AreEqual(expected_value, actual_value, "PSEi value not equal");

            expected_value = 7007.63;
            actual_value   = psei.Open;
            Assert.AreEqual(expected_value, actual_value, "PSEi open not equal");

            expected_value = 7011.28;
            actual_value   = psei.High;
            Assert.AreEqual(expected_value, actual_value, "PSEi high not equal");

            expected_value = 6986.86;
            actual_value   = psei.Low;
            Assert.AreEqual(expected_value, actual_value, "PSEi low not equal");

            expected_value = 6999.75;
            actual_value   = psei.Close;
            Assert.AreEqual(expected_value, actual_value, "PSEi close not equal");


            // financial
            SectorItem financial = pd.GetSector(PSEDocument.FINANCIAL);

            expected = 8105540;
            actual   = financial.Volume;

            Assert.AreEqual(expected, actual, "Financial volume not equal");

            expected_value = 755542372.19;
            actual_value   = financial.Value;

            Assert.AreEqual(expected, actual, "Financial value not equal");

            //913.01 935.52 909.34 935.52 2.47 22.51 24,780,801 882,690,827.9
            expected_value = 1585.35;
            actual_value   = financial.Open;

            Assert.AreEqual(expected_value, actual_value, "Financial open not equal");

            expected_value = 1585.39;
            actual_value   = financial.High;

            Assert.AreEqual(expected_value, actual_value, "Financial high not equal");

            expected_value = 1577.85;
            actual_value   = financial.Low;

            Assert.AreEqual(expected_value, actual_value, "Financial low not equal");

            expected_value = 1583.44;
            actual_value   = financial.Close;

            Assert.AreEqual(expected_value, actual_value);


            // mining
            SectorItem mining = pd.GetSector(PSEDocument.MINING_OIL);

            expected = 2528326978;
            actual   = mining.Volume;

            Assert.AreEqual(expected, actual, "Mining volume not equal");

            expected_value = 143087427.64;
            actual_value   = mining.Value;

            Assert.AreEqual(expected, actual, "Mining value not equal");

            //11,644.77 12,468.64 11,644.77 12,387.7 7.97 914.68 3,832,444,034 977,394,265.25

            expected_value = 10885.19;
            actual_value   = mining.Open;

            Assert.AreEqual(expected_value, actual_value);

            expected_value = 10886.63;
            actual_value   = mining.High;

            Assert.AreEqual(expected_value, actual_value);

            expected_value = 10700.58;
            actual_value   = mining.Low;

            Assert.AreEqual(expected_value, actual_value);

            expected_value = 10740.09;
            actual_value   = mining.Close;

            Assert.AreEqual(expected_value, actual_value);

            SectorItem pse = pd.GetSector(PSEDocument.PSEI);

            expected_value = -616052104.21;
            actual_value   = pse.NetForeignBuy;

            Assert.AreEqual(expected_value, actual_value);
        }
Example #11
0
        public void TestReader_ReportBody()
        {
            //PDFTextStripper stripper = new PDFTextStripper();
            var pdfSharpService = new PdfTextSharpService();
            var reader          = new PSEReportReader2();

            PSEDocument pd = new PSEDocument();

            reader.Fill(pd, pdfSharpService.ExtractTextFromPdf(pdfDocPath));

            //Bid Ask Open High Low Close Volume Value NFB/S

            //METROBANK MBT 78.75 78.8 78.95 79.1 78.55 78.8 2,050,170 161,601,172 7,609,520

            StockItem stock    = pd.GetStock("MBT");
            double    expected = 78.75;
            double    actual   = stock.Bid;

            Assert.AreEqual(expected, actual);

            expected = 78.95;
            actual   = stock.Open;
            Assert.AreEqual(expected, actual);

            expected = 2050170;
            actual   = stock.Volume;
            Assert.AreEqual(expected, actual);

            expected = 161601172;
            actual   = stock.Value;
            Assert.AreEqual(expected, actual);

            expected = 7609520;
            actual   = stock.NetForeignBuy;
            Assert.AreEqual(expected, actual);

            //PSBANK PSB 98.55 102.9 102.9 102.9 102.9 102.9 50 5,145 -
            stock    = pd.GetStock("PSB");
            expected = 102.9;
            actual   = stock.High;
            Assert.AreEqual(expected, actual);

            actual   = stock.Volume;
            expected = 50;
            Assert.AreEqual(expected, actual);

            actual   = stock.Value;
            expected = 5145;
            Assert.AreEqual(expected, actual);

            actual   = stock.NetForeignBuy;
            expected = 0;
            Assert.AreEqual(expected, actual);

            //MANULIFE MFC 580 610 - - - - - - -
            stock    = pd.GetStock("MFC");
            expected = 0;
            actual   = stock.Close;
            Assert.AreEqual(expected, actual);

            expected = 0;
            actual   = stock.Volume;
            Assert.AreEqual(expected, actual);

            expected = 0;
            actual   = stock.Value;
            Assert.AreEqual(expected, actual);

            expected = 0;
            actual   = stock.NetForeignBuy;
            Assert.AreEqual(expected, actual);

            //ENERGY DEVT EDC 5.65 5.66 5.62 5.7 5.6 5.65 5,854,000 32,973,299 (19,410,534)
            stock    = pd.GetStock("EDC");
            expected = 5.66;
            actual   = stock.Ask;
            Assert.AreEqual(expected, actual);

            expected = 5.6;
            actual   = stock.Low;
            Assert.AreEqual(expected, actual);

            expected = 5854000;
            actual   = stock.Volume;
            Assert.AreEqual(expected, actual);

            expected = 32973299;
            actual   = stock.Value;
            Assert.AreEqual(expected, actual);

            expected = -19410534;
            actual   = stock.NetForeignBuy;
            Assert.AreEqual(expected, actual);

            ////COSMOS                   CBC     - - - - - - - - -
            //stock = pd.GetStock("CBC");
            //expected = 0;
            //actual = stock.High;
            //Assert.AreEqual(expected, actual);

            //actual = stock.Volume;
            //Assert.AreEqual(expected, actual);

            //actual = stock.Value;
            //Assert.AreEqual(expected, actual);

            //actual = stock.NetForeignBuy;
            //Assert.AreEqual(expected, actual);

            //VULCAN INDL VUL 1.26 1.27 1.25 1.3 1.25 1.27 369,000 463,800 -
            stock    = pd.GetStock("VUL");
            expected = 1.27;
            actual   = stock.Close;
            Assert.AreEqual(expected, actual);

            expected = 369000;
            actual   = stock.Volume;
            Assert.AreEqual(expected, actual);

            expected = 463800;
            actual   = stock.Value;
            Assert.AreEqual(expected, actual);

            expected = 0;
            actual   = stock.NetForeignBuy;
            Assert.AreEqual(expected, actual);

            //ANSCOR ANS 5.92 6 6 6 5.97 5.97 3,000 17,970 -
            stock    = pd.GetStock("ANS");
            expected = 5.92;
            actual   = stock.Bid;
            Assert.AreEqual(expected, actual);

            expected = 6;
            actual   = stock.Open;
            Assert.AreEqual(expected, actual);

            expected = 3000;
            actual   = stock.Volume;
            Assert.AreEqual(expected, actual);

            expected = 17970;
            actual   = stock.Value;
            Assert.AreEqual(expected, actual);

            expected = 0;
            actual   = stock.NetForeignBuy;
            Assert.AreEqual(expected, actual);

            //SEAFRONT RES SPM 2.13 2.34 - - - - - - -
            stock    = pd.GetStock("SPM");
            expected = 2.34;
            actual   = stock.Ask;
            Assert.AreEqual(expected, actual);

            expected = 0;
            actual   = stock.Volume;
            Assert.AreEqual(expected, actual);

            actual = stock.Value;
            Assert.AreEqual(expected, actual);

            actual = stock.NetForeignBuy;
            Assert.AreEqual(expected, actual);

            //SINOPHIL                 SINO    0.305 0.31 0.31 0.31 0.305 0.305 1,190,000 366,450 -
            //stock = pd.GetStock("SINO");
            //expected = 0.31;
            //actual = stock.High;
            //Assert.AreEqual(expected, actual);

            //expected = 0.305;
            //actual = stock.Close;
            //Assert.AreEqual(expected, actual);

            //expected = 1190000;
            //actual = stock.Volume;
            //Assert.AreEqual(expected, actual);

            //expected = 366450;
            //actual = stock.Value;
            //Assert.AreEqual(expected, actual);

            //expected = 0;
            //actual = stock.NetForeignBuy;
            //Assert.AreEqual(expected, actual);


            //AYALA LAND ALI 33.8 33.85 33.7 34 33.65 33.8 11,833,600 400,085,500 (62,456,645)
            stock    = pd.GetStock("ALI");
            expected = 33.8;
            actual   = stock.Close;
            Assert.AreEqual(expected, actual);

            expected = 11833600;
            actual   = stock.Volume;
            Assert.AreEqual(expected, actual);

            expected = 400085500;
            actual   = stock.Value;
            Assert.AreEqual(expected, actual);

            expected = -62456645;
            actual   = stock.NetForeignBuy;
            Assert.AreEqual(expected, actual);


            //MARSTEEL B               MCB     - - - - - - - - -
            //stock = pd.GetStock("MCB");
            //expected = 0;
            //actual = stock.Bid;
            //Assert.AreEqual(expected, actual);

            //actual = stock.Open;
            //Assert.AreEqual(expected, actual);

            //actual = stock.Close;
            //Assert.AreEqual(expected, actual);

            //actual = stock.Volume;
            //Assert.AreEqual(expected, actual);

            //actual = stock.Value;
            //Assert.AreEqual(expected, actual);

            //actual = stock.NetForeignBuy;
            //Assert.AreEqual(expected, actual);


            //SM DEVT                  SMDC 9.35 9.4 8.64 9.8 8.64 9.35 3,641,200 33,750,420 633,735
            //stock = pd.GetStock("SMDC");
            //expected = 9.35;
            //actual = stock.Bid;
            //Assert.AreEqual(expected, actual);

            //expected = 8.64;
            //actual = stock.Low;
            //Assert.AreEqual(expected, actual);

            //expected = 3641200;
            //actual = stock.Volume;
            //Assert.AreEqual(expected, actual);

            //expected = 33750420;
            //actual = stock.Value;
            //Assert.AreEqual(expected, actual);

            //expected = 633735;
            //actual = stock.NetForeignBuy;
            //Assert.AreEqual(expected, actual);

            //GMA NETWORK GMA7 6.75 6.78 6.75 6.78 6.71 6.78 74,300 501,102 -
            stock    = pd.GetStock("GMA7");
            expected = 6.71;
            actual   = stock.Low;
            Assert.AreEqual(expected, actual);

            expected = 74300;
            actual   = stock.Volume;
            Assert.AreEqual(expected, actual);

            expected = 501102;
            actual   = stock.Value;
            Assert.AreEqual(expected, actual);

            expected = 0;
            actual   = stock.NetForeignBuy;
            Assert.AreEqual(expected, actual);

            //DIGITEL                  DGTL 1.51 1.52 1.53 1.54 1.51 1.52 36,056,000 54,884,680 (686,960)
            //stock = pd.GetStock("DGTL");
            //expected = 1.53;
            //actual = stock.Open;
            //Assert.AreEqual(expected, actual);

            //expected = 36056000;
            //actual = stock.Volume;
            //Assert.AreEqual(expected, actual);

            //expected = 54884680;
            //actual = stock.Value;
            //Assert.AreEqual(expected, actual);

            //expected = -686960;
            //actual = stock.NetForeignBuy;
            //Assert.AreEqual(expected, actual);

            //WATERFRONT WPI 0.33 0.34 0.33 0.33 0.33 0.33 430,000 141,900 -
            stock    = pd.GetStock("WPI");
            expected = 0.33;
            actual   = stock.Close;
            Assert.AreEqual(expected, actual);

            expected = 430000;
            actual   = stock.Volume;
            Assert.AreEqual(expected, actual);

            expected = 141900;
            actual   = stock.Value;
            Assert.AreEqual(expected, actual);

            expected = 0;
            actual   = stock.NetForeignBuy;
            Assert.AreEqual(expected, actual);

            //GEOGRACE GEO 0.28 0.29 0.28 0.285 0.28 0.285 450,000 126,050 -
            stock    = pd.GetStock("GEO");
            expected = 0.285;
            actual   = stock.High;
            Assert.AreEqual(expected, actual);

            expected = 450000;
            actual   = stock.Volume;
            Assert.AreEqual(expected, actual);

            expected = 126050;
            actual   = stock.Value;
            Assert.AreEqual(expected, actual);

            expected = 0;
            actual   = stock.NetForeignBuy;
            Assert.AreEqual(expected, actual);

            //SEMIRARA MINING SCC 126.4 126.5 127 127 126.1 126.5 240,020 30,357,793 (10,789,654)
            stock    = pd.GetStock("SCC");
            expected = 126.5;
            actual   = stock.Ask;
            Assert.AreEqual(expected, actual);

            expected = 240020;
            actual   = stock.Volume;
            Assert.AreEqual(expected, actual);

            expected = 30357793;
            actual   = stock.Value;
            Assert.AreEqual(expected, actual);

            expected = -10789654;
            actual   = stock.NetForeignBuy;
            Assert.AreEqual(expected, actual);

            //PHILODRILL OV 0.012 0.013 0.012 0.012 0.012 0.012 13,200,000 158,400 -
            stock    = pd.GetStock("OV");
            expected = 0.012;
            actual   = stock.Close;
            Assert.AreEqual(expected, actual);

            expected = 13200000;
            actual   = stock.Volume;
            Assert.AreEqual(expected, actual);

            expected = 158400;
            actual   = stock.Value;
            Assert.AreEqual(expected, actual);

            expected = 0;
            actual   = stock.NetForeignBuy;
            Assert.AreEqual(expected, actual);
        }