public void PurchaseOrderTest2()
        {
            for (int x = 0; x < 2; x++)
            {
                for (int y = 0; y < 1000; y++)
                {
                    string[] fields = null;

                    var lines     = File.ReadLines(Path.Combine(Directory.GetCurrentDirectory(), "po.csv"));
                    int lineCount = File.ReadAllLines(Path.Combine(Directory.GetCurrentDirectory(), "po.csv")).Length;

                    if (y > lineCount - 1)
                    {
                        break;
                    }

                    var line = new List <string>(lines)[y];

                    TextFieldParser parser = new TextFieldParser(new StringReader(line));
                    parser.HasFieldsEnclosedInQuotes = true;
                    parser.SetDelimiters(",");
                    fields = parser.ReadFields();

                    using (PurchaseOrder purchaseOrder = new PurchaseOrder(x == 0 ? _legacySourcePath : _modernSourcePath))
                    {
                        if (fields[0].Length > 0)
                        {
                            purchaseOrder.AddFilterCriteria(PurchaseOrder.PurchaseOrderFields.PurchaseOrderSite, ComparisonType.EqualTo, Convert.ToInt32(fields[0]));
                        }

                        if (fields[1].Length > 0)
                        {
                            purchaseOrder.AddFilterCriteria(PurchaseOrder.PurchaseOrderFields.PurchaseOrderOrder, ComparisonType.EqualTo, fields[1]);
                        }

                        if (!fields[2].Contains("1900"))
                        {
                            purchaseOrder.AddFilterCriteria(PurchaseOrder.PurchaseOrderFields.PurchaseOrderDate, ComparisonType.EqualTo, DateTime.Parse(fields[2]));
                        }

                        if (fields[3].Length > 0)
                        {
                            purchaseOrder.AddFilterCriteria(PurchaseOrder.PurchaseOrderFields.PurchaseOrderInvoice, ComparisonType.EqualTo, fields[3]);
                        }

                        if (fields[4].Length > 0)
                        {
                            purchaseOrder.AddFilterCriteria(PurchaseOrder.PurchaseOrderFields.PurchaseOrderQuantity, ComparisonType.EqualTo, Convert.ToInt32(fields[4]));
                        }

                        if (fields[5].Length > 0)
                        {
                            purchaseOrder.AddFilterCriteria(PurchaseOrder.PurchaseOrderFields.PurchaseOrderRecd, ComparisonType.EqualTo, fields[5]);
                        }

                        if (fields[6].Length > 0)
                        {
                            purchaseOrder.AddFilterCriteria(PurchaseOrder.PurchaseOrderFields.PurchaseOrderCode, ComparisonType.EqualTo, fields[6]);
                        }

                        if (fields[7].Length > 0)
                        {
                            purchaseOrder.AddFilterCriteria(PurchaseOrder.PurchaseOrderFields.PurchaseOrderVendor, ComparisonType.EqualTo, Convert.ToInt32(fields[7]));
                        }

                        if (fields[8].Length > 0)
                        {
                            purchaseOrder.AddFilterCriteria(PurchaseOrder.PurchaseOrderFields.PurchaseOrderCost, ComparisonType.EqualTo, Convert.ToDecimal(fields[8]));
                        }

                        if (fields[9].Length > 0)
                        {
                            purchaseOrder.AddFilterCriteria(PurchaseOrder.PurchaseOrderFields.PurchaseOrderPack, ComparisonType.EqualTo, Convert.ToInt32(fields[9]));
                        }

                        var poList = purchaseOrder.PurchaseOrderList();

                        if (poList.Count == 0)
                        {
                            Assert.Fail("Match failed on line: " + (y + 1).ToString());
                        }
                    }
                }
            }

            Assert.IsTrue(true, "PurchaseOrderTest2 Passed!!");
        }