public void DistinctGetValuesWhenHasDistinctValuesShouldReturnOnlyDistinctRows()
        {
            BinaryDataListStorage bdls = new BinaryDataListStorage("MySweetNamespace", Guid.NewGuid());

            // build insert value ;)
            var row  = CreateBinaryDataListRow("1", "1", "Barney", "T", "Buchan");
            var row2 = CreateBinaryDataListRow("2", "2", "Huggs", "W", "Naidu");
            var row3 = CreateBinaryDataListRow("3", "3", "Trav", "A", "Fri");
            var row4 = CreateBinaryDataListRow("4", "4", "Trav", "B", "Fri");
            var row5 = CreateBinaryDataListRow("5", "5", "Huggs", "C", "Bear");
            var row6 = CreateBinaryDataListRow("6", "6", "Huggs", "D", "Naidu");

            bdls.Add(1, row);
            bdls.Add(2, row2);
            bdls.Add(3, row3);
            bdls.Add(4, row4);
            bdls.Add(5, row5);
            bdls.Add(6, row6);
            // Insert information

            IIndexIterator keys         = new IndexIterator(null, 6);
            List <int>     distinctCols = new List <int> {
                2, 4
            };
            List <int> rows = bdls.DistinctGetRows(keys, distinctCols);

            Assert.AreEqual(4, rows.Count);

            // now fetch each item ;)
            IBinaryDataListRow myRow;

            bdls.TryGetValue(rows[0], 1, out myRow);
            Assert.IsFalse(myRow.IsEmpty);
            bdls.TryGetValue(rows[3], 1, out myRow);
            Assert.IsFalse(myRow.IsEmpty);
        }
        public void DistinctGetValuesWhenHasDistinctValuesShouldReturnOnlyDistinctRows()
        {
            BinaryDataListStorage bdls = new BinaryDataListStorage("MySweetNamespace", Guid.NewGuid());

            // build insert value ;)
            var row = CreateBinaryDataListRow("1", "1", "Barney", "T", "Buchan");
            var row2 = CreateBinaryDataListRow("2", "2", "Huggs", "W", "Naidu");
            var row3 = CreateBinaryDataListRow("3", "3", "Trav", "A", "Fri");
            var row4 = CreateBinaryDataListRow("4", "4", "Trav", "B", "Fri");
            var row5 = CreateBinaryDataListRow("5", "5", "Huggs", "C", "Bear");
            var row6 = CreateBinaryDataListRow("6", "6", "Huggs", "D", "Naidu");
            bdls.Add(1, row);
            bdls.Add(2, row2);
            bdls.Add(3, row3);
            bdls.Add(4, row4);
            bdls.Add(5, row5);
            bdls.Add(6, row6);
            // Insert information

            IIndexIterator keys = new IndexIterator(null,6);
            List<int> distinctCols = new List<int> { 2, 4 };
            List<int> rows = bdls.DistinctGetRows(keys, distinctCols);
            Assert.AreEqual(4, rows.Count);

            // now fetch each item ;)
            IBinaryDataListRow myRow;
            bdls.TryGetValue(rows[0], 1, out myRow);
            Assert.IsFalse(myRow.IsEmpty);
            bdls.TryGetValue(rows[3], 1, out myRow);
            Assert.IsFalse(myRow.IsEmpty);
        }