Example #1
0
        public void TestConstructor()
        {
            MyFilteredBindingList <Product> myList = new MyFilteredBindingList <Product>();

            myList.Add(new Product("Gadgets", "TickTock", 56000, new DateTime(2002, 5, 6)));
            Assert.AreEqual(1, myList.Count);
        }
Example #2
0
        public void TestParseFilterDateForValueGreaterThan()
        {
            MyFilteredBindingList <Product> myList = new MyFilteredBindingList <Product>();
            SingleFilterInfo info = myList.ParseFilter("AddedDate > 5/6/2002");

            Assert.AreEqual("AddedDate", info.PropName);
            Assert.AreEqual(FilterOperator.GreaterThan, info.OperatorValue);
            Assert.AreEqual(new DateTime(2002, 5, 6), info.CompareValue);
        }
Example #3
0
        public void TestParseFilterFloatForValueEqual()
        {
            MyFilteredBindingList <Font> myList = new MyFilteredBindingList <Font>();
            SingleFilterInfo             info   = myList.ParseFilter("Size = 3");

            Assert.AreEqual("Size", info.PropName);
            Assert.AreEqual(FilterOperator.EqualTo, info.OperatorValue);
            Assert.AreEqual(3.0F, info.CompareValue);
        }
Example #4
0
        public void TestParseFilterLongDateString()
        {
            MyFilteredBindingList <Product> myList = new MyFilteredBindingList <Product>();
            SingleFilterInfo info = myList.ParseFilter("AddedDate = 5/6/2002 12:00:00 AM");

            Assert.AreEqual("AddedDate", info.PropName);
            Assert.AreEqual(FilterOperator.EqualTo, info.OperatorValue);
            Assert.AreEqual(new DateTime(2002, 5, 6), info.CompareValue);
        }
Example #5
0
        public void TestParseFilterIntForValueLessThan()
        {
            MyFilteredBindingList <Product> myList = new MyFilteredBindingList <Product>();
            SingleFilterInfo info = myList.ParseFilter("StockNo < 3");

            Assert.AreEqual("StockNo", info.PropName);
            Assert.AreEqual(FilterOperator.LessThan, info.OperatorValue);
            Assert.AreEqual(3, info.CompareValue);
        }
Example #6
0
        public void TestParseFilterStringForValueEqualQuotes()
        {
            MyFilteredBindingList <Product> myList = new MyFilteredBindingList <Product>();
            SingleFilterInfo info = myList.ParseFilter("Category = 'Something'");

            Assert.AreEqual("Category", info.PropName);
            Assert.AreEqual(FilterOperator.EqualTo, info.OperatorValue);
            Assert.AreEqual("Something", info.CompareValue);
        }
Example #7
0
        public void TestDetermineFilterOperator()
        {
            MyFilteredBindingList <Product> myList = new MyFilteredBindingList <Product>();

            Assert.AreEqual(FilterOperator.EqualTo, myList.DetermineFilterOperator("MyList='SomeStuff'"));
            Assert.AreEqual(FilterOperator.GreaterThan, myList.DetermineFilterOperator("MyList>'SomeStuff'"));
            Assert.AreEqual(FilterOperator.LessThan, myList.DetermineFilterOperator("MyList<'SomeStuff'"));
            Assert.AreEqual(FilterOperator.None, myList.DetermineFilterOperator("MyList<>'SomeStuff'"));
        }
Example #8
0
        public void TestFilterRegularExpressionLongDate()
        {
            MyFilteredBindingList <Product> myList = new MyFilteredBindingList <Product>();

            myList.Add(new Product("Gadgets", "TickTock", 56000, new DateTime(2003, 5, 6)));
            myList.Add(new Product("Gadgets", "Jumper", 56000, new DateTime(2004, 5, 6)));
            myList.Add(new Product("Aker's", "Jumper", 58000, new DateTime(2002, 5, 6)));
            myList.Filter = "AddedDate = '5/6/2003 12:00:00 AM'";
            Assert.AreEqual(1, myList.Count);
        }
Example #9
0
        public void TestFilterEmptyString()
        {
            MyFilteredBindingList <Product> myList = new MyFilteredBindingList <Product>();

            myList.Add(new Product("Gadgets", "TickTock", 56000, new DateTime(2002, 5, 6)));
            myList.Add(new Product("Games", "TickTock", 56000, new DateTime(2002, 5, 6)));
            myList.Add(new Product("Gadgets", "Jumper", 56000, new DateTime(2002, 5, 6)));
            myList.Add(new Product("Games", "Jumper", 56000, new DateTime(2002, 5, 6)));
            myList.Filter = "";
            Assert.AreEqual(4, myList.Count);
        }
Example #10
0
        public void TestFilterWithApostrophe()
        {
            MyFilteredBindingList <Product> myList = new MyFilteredBindingList <Product>();

            myList.Add(new Product("Gadgets", "TickTock", 56100, new DateTime(2003, 5, 6)));
            myList.Add(new Product("Gadgets", "Jumper", 56200, new DateTime(2004, 5, 6)));
            myList.Add(new Product("Games", "Jumper", 56000, new DateTime(2002, 5, 6)));
            myList.ApplySort("Category", System.ComponentModel.ListSortDirection.Ascending);
            myList.Filter = "[Category]= Games'";
            Assert.AreEqual(0, myList.Count);
        }
Example #11
0
        public void TestFilterRegularExpressionApostrophe()
        {
            MyFilteredBindingList <Product> myList = new MyFilteredBindingList <Product>();

            myList.Add(new Product("Gadgets", "TickTock", 56000, new DateTime(2003, 5, 6)));
            myList.Add(new Product("Gadgets", "Jumper", 56000, new DateTime(2004, 5, 6)));
            myList.Add(new Product("Aker's", "Jumper", 58000, new DateTime(2002, 5, 6)));
            myList.ApplySort("Category", System.ComponentModel.ListSortDirection.Ascending);
            myList.Filter = "Category = 'Aker\'s'";
            Assert.AreEqual(1, myList.Count);
        }
Example #12
0
        public void TestFilterMultiColumn()
        {
            MyFilteredBindingList <Product> myList = new MyFilteredBindingList <Product>();

            myList.Add(new Product("Gadgets", "TickTock", 56200, new DateTime(2002, 5, 6)));
            myList.Add(new Product("Games", "TickTock", 56100, new DateTime(2002, 5, 6)));
            myList.Add(new Product("Games", "Cherry", 56000, new DateTime(2002, 5, 6)));
            myList.Add(new Product("Candles", "Cherry", 56000, new DateTime(2002, 5, 6)));
            myList.Filter = "Category='Candles' AND ProductName = 'Cherry'";
            Assert.AreEqual(1, myList.Count);
            Assert.AreEqual(4, myList.OriginalList.Count);
        }
Example #13
0
        public void TestFilterWithFonts()
        {
            MyFilteredBindingList <Font> myList = new MyFilteredBindingList <Font>();

            myList.Add(new Font("Arial", 20F));
            myList.Add(new Font("Courier", 18F));
            myList.Add(new Font("Verdana", 14F));
            myList.Add(new Font("Times New Roman", 13F));
            myList.Filter = "[Size]<'15'";
            Assert.AreEqual(2, myList.Count);
            Assert.AreEqual(4, myList.OriginalList.Count);
        }
Example #14
0
        public void TestFilterDateTime()
        {
            MyFilteredBindingList <Product> myList = new MyFilteredBindingList <Product>();

            myList.Add(new Product("Gadgets", "TickTock", 56000, new DateTime(2003, 5, 6)));
            myList.Add(new Product("Games", "TickTock", 56200, new DateTime(2006, 5, 6)));
            myList.Add(new Product("Gadgets", "Jumper", 56000, new DateTime(2004, 5, 6)));
            myList.Add(new Product("Games", "Jumper", 56000, new DateTime(2002, 5, 6)));
            myList.Filter = "[AddedDate]<'5/6/2005'";
            Assert.AreEqual(3, myList.Count);
            Assert.AreEqual(4, myList.OriginalList.Count);
        }
Example #15
0
        public void TestFilteringInt()
        {
            MyFilteredBindingList <Product> myList = new MyFilteredBindingList <Product>();

            myList.Add(new Product("Gadgets", "TickTock", 54000, new DateTime(2002, 5, 6)));
            myList.Add(new Product("Games", "TickTock", 53000, new DateTime(2002, 5, 6)));
            myList.Add(new Product("Gadgets", "Jumper", 46000, new DateTime(2002, 5, 6)));
            myList.Add(new Product("Games", "Jumper", 36000, new DateTime(2002, 5, 6)));
            myList.Filter = "[StockNo]>'50000'";
            Assert.AreEqual(2, myList.Count);
            Assert.AreEqual(4, myList.OriginalList.Count);
        }
Example #16
0
        public void TestFilterStringLessThan()
        {
            MyFilteredBindingList <Product> myList = new MyFilteredBindingList <Product>();

            myList.Add(new Product("Gadgets", "TickTock", 56000, new DateTime(2002, 5, 6)));
            myList.Add(new Product("Games", "TickTock", 56000, new DateTime(2002, 5, 6)));
            myList.Add(new Product("Gadgets", "Jumper", 56000, new DateTime(2002, 5, 6)));
            myList.Add(new Product("Games", "Jumper", 56000, new DateTime(2002, 5, 6)));
            myList.Filter = "Category <'Gaf'";
            Assert.AreEqual(2, myList.Count);
            Assert.AreEqual(4, myList.OriginalList.Count);
        }
Example #17
0
        public void TestFilterRegularExpressionPass()
        {
            MyFilteredBindingList <Product> myList = new MyFilteredBindingList <Product>();

            myList.Add(new Product("Gadgets", "TickTock", 56100, new DateTime(2003, 5, 6)));
            myList.Add(new Product("Gadgets", "Jumper", 56200, new DateTime(2004, 5, 6)));
            myList.Add(new Product("Games'", "Jumper", 58000, new DateTime(2002, 5, 6)));
            myList.ApplySort("Category", System.ComponentModel.ListSortDirection.Ascending);
            myList.Filter = "[Category]= 'Games'";
            myList.Filter = "StockNo < 50000";
            myList.Filter = "StockNo  < 50000";
            myList.Filter = "AddedDate = '5/01/2004'";
        }
Example #18
0
        public void TestFilterAddNewItem()
        {
            MyFilteredBindingList <Product> myList = new MyFilteredBindingList <Product>();

            myList.Add(new Product("Gadgets", "TickTock", 56100, new DateTime(2002, 5, 6)));
            myList.Add(new Product("Games", "TickTock", 56200, new DateTime(2002, 5, 6)));
            myList.Add(new Product("Games", "Cherry", 56000, new DateTime(2002, 5, 6)));
            myList.Add(new Product("Candles", "Cherry", 56000, new DateTime(2002, 5, 6)));
            myList.Filter = "Category='Candles'";
            myList.Add(new Product("Candles", "Bayberry", 54000, new DateTime(2005, 4, 6)));
            Assert.AreEqual(2, myList.Count);
            Assert.AreEqual(5, myList.OriginalList.Count);
        }
Example #19
0
        public void TestApplyFilterStringEquals()
        {
            MyFilteredBindingList <Product> myList = new MyFilteredBindingList <Product>();

            myList.Add(new Product("Gadgets", "TickTock", 56000, new DateTime(2002, 5, 6)));
            myList.Add(new Product("Games", "TickTock", 56000, new DateTime(2002, 5, 6)));
            myList.Add(new Product("Gadgets", "Jumper", 56000, new DateTime(2002, 5, 6)));
            myList.Add(new Product("Games", "Jumper", 56000, new DateTime(2002, 5, 6)));
            SingleFilterInfo info = myList.ParseFilter("Category = 'Gadgets'");

            myList.ApplyFilter(info);
            Assert.AreEqual(myList.Count, 2);
        }
Example #20
0
        public void TestFilterRemoveFilter()
        {
            MyFilteredBindingList <Product> myList = new MyFilteredBindingList <Product>();

            myList.Add(new Product("Gadgets", "TickTock", 56100, new DateTime(2002, 5, 6)));
            myList.Add(new Product("Games", "TickTock", 56200, new DateTime(2002, 5, 6)));
            myList.Add(new Product("Gadgets", "Jumper", 56000, new DateTime(2002, 5, 6)));
            myList.Add(new Product("Games", "Jumper", 56000, new DateTime(2002, 5, 6)));
            myList.Filter = "[Category]='Games'";
            Assert.AreEqual(2, myList.Count);
            myList.RemoveFilter();
            Assert.AreEqual(4, myList.Count);
        }
Example #21
0
        public void TestSortAndFilterAddNewItem()
        {
            MyFilteredBindingList <Product> myList = new MyFilteredBindingList <Product>();

            myList.Add(new Product("Gadgets", "TickTock", 56100, new DateTime(2002, 5, 6)));
            myList.Add(new Product("Games", "TickTock", 56200, new DateTime(2002, 5, 6)));
            myList.Add(new Product("Gadgets", "Jumper", 56000, new DateTime(2002, 5, 6)));
            myList.Add(new Product("Candles", "Jumper", 56000, new DateTime(2002, 5, 6)));
            myList.Filter = "Category='Candles'";
            myList.Add(new Product("Candles", "Zoe", 54000, new DateTime(2005, 4, 6)));
            myList.ApplySort("ProductName", System.ComponentModel.ListSortDirection.Ascending);
            Assert.AreEqual(2, myList.Count);
            Assert.AreEqual(5, myList.OriginalList.Count);
        }
Example #22
0
        public void TestSortAndFilter()
        {
            MyFilteredBindingList <Product> myList = new MyFilteredBindingList <Product>();

            myList.Add(new Product("Gadgets", "TickTock", 56100, new DateTime(2003, 5, 6)));
            myList.Add(new Product("Games", "TickTock", 56200, new DateTime(2006, 5, 6)));
            myList.Add(new Product("Gadgets", "Jumper", 56000, new DateTime(2004, 5, 6)));
            myList.Add(new Product("Games", "Jumper", 56000, new DateTime(2002, 5, 6)));
            myList.ApplySort("Category", System.ComponentModel.ListSortDirection.Ascending);
            myList.Filter = "[Category]='Games'";
            myList.ApplySort("ProductName", System.ComponentModel.ListSortDirection.Ascending);
            Assert.AreEqual(2, myList.Count);
            Assert.AreEqual("Jumper", myList[0].ProductName);
        }
Example #23
0
        public void TestFilteringMultiColumnToSingleColumnDGVBehavior()
        {
            MyFilteredBindingList <Product> myList = new MyFilteredBindingList <Product>();

            myList.Add(new Product("Gadgets", "TickTock", 56200, new DateTime(2002, 5, 6)));
            myList.Add(new Product("Games", "TickTock", 56100, new DateTime(2002, 5, 6)));
            myList.Add(new Product("Gadgets", "Jumper", 56000, new DateTime(2002, 5, 6)));
            myList.Add(new Product("Candles", "Jumper", 56000, new DateTime(2002, 5, 6)));
            myList.Filter = "Category='Candles' AND ProductName = 'Jumper'";
            Assert.AreEqual(1, myList.Count);
            Assert.AreEqual(4, myList.OriginalList.Count);
            myList.Filter = "ProductName = 'Jumper'";
            myList.RemoveFilter();
            Assert.AreEqual(4, myList.Count);
        }
Example #24
0
        public void TestStripOffQuotes()
        {
            MyFilteredBindingList <Product> myList = new MyFilteredBindingList <Product>();

            MyFilteredBindingList <Product> .StripOffQuotes("somefilter='someValue'");

            Assert.AreEqual("someValue",
                            MyFilteredBindingList <Font> .StripOffQuotes("'someValue'"));
            Assert.AreEqual("some'Value",
                            MyFilteredBindingList <Font> .StripOffQuotes("'some'Value'"));
            Assert.AreEqual("'someValue",
                            MyFilteredBindingList <Font> .StripOffQuotes("'someValue"));
            Assert.AreEqual("someValue'",
                            MyFilteredBindingList <Font> .StripOffQuotes("someValue'"));
        }
Example #25
0
        public void TestSortAndFilterAddItemRemoveFilter()
        {
            MyFilteredBindingList <Product> myList = new MyFilteredBindingList <Product>();

            myList.Add(new Product("Gadgets", "TickTock", 56100, new DateTime(2003, 5, 6)));
            myList.Add(new Product("Games", "TickTock", 56200, new DateTime(2006, 5, 6)));
            myList.Add(new Product("Gadgets", "Jumper", 56000, new DateTime(2004, 5, 6)));
            myList.Add(new Product("Games", "Jumper", 56000, new DateTime(2002, 5, 6)));
            myList.ApplySort("Category", System.ComponentModel.ListSortDirection.Descending);
            myList.Filter = "[Category]< 'Games'";
            myList.Add(new Product("Johnson", "TickTock", 45000, new DateTime(2007, 9, 1)));
            Assert.AreEqual(2, myList.Count);
            myList.RemoveFilter();
            Assert.AreEqual(5, myList.Count);
            Assert.AreEqual("Johnson", myList[0].Category);
        }
Example #26
0
        public void TestFilterMultiColumnFilterToSingleColumnFilterToNoFilter()
        {
            MyFilteredBindingList <Product> myList = new MyFilteredBindingList <Product>();

            myList.Add(new Product("Gadgets", "TickTock", 56100, new DateTime(2003, 5, 6)));
            myList.Add(new Product("Games", "TickTock", 56200, new DateTime(2006, 5, 6)));
            myList.Add(new Product("Gadgets", "Jumper", 56000, new DateTime(2004, 5, 6)));
            myList.Add(new Product("Games", "Jumper", 56000, new DateTime(2002, 5, 6)));
            myList.Filter = "[Category] ='Games' AND [ProductName] ='TickTock'";
            Assert.AreEqual(1, myList.Count);
            myList.Filter = "[Category] ='Games'";
            Assert.AreEqual(2, myList.Count);
            myList.RemoveFilter();
            Assert.AreEqual(4, myList.Count);
            Assert.AreEqual("TickTock", myList[0].ProductName);
            Assert.AreEqual("Gadgets", myList[0].Category);
        }
Example #27
0
 public void TestRegexBuilder()
 {
     Assert.AreEqual(@"\[?[\w\s]+\]?\s?[><=]\s?'?.+'?",
                     MyFilteredBindingList <Employee> .BuildRegExForFilterFormat());
 }