// [END bigtable_filters_limit_col_range]

        // [START bigtable_filters_limit_value_range]
        /// <summary>
        /// /// Read using a value range filter from an existing table.
        ///</summary>
        /// <param name="projectId">Your Google Cloud Project ID.</param>
        /// <param name="instanceId">Your Google Cloud Bigtable Instance ID.</param>
        /// <param name="tableId">Your Google Cloud Bigtable table ID.</param>

        public string filterLimitValueRange(string projectId = "YOUR-PROJECT-ID", string instanceId = "YOUR-INSTANCE-ID", string tableId = "YOUR-TABLE-ID")
        {
            // A filter that matches cells whose values are between the given values
            RowFilter filter = RowFilters.ValueRange(ValueRange.Closed("PQ2A.190405", "PQ2A.190406"));

            return(readFilter(projectId, instanceId, tableId, filter));
        }
        public void Closed_Valid()
        {
            var range = ValueRange.Closed("a", "z");

            Assert.Equal("a", range.StartValueClosed.ToStringUtf8());
            Assert.True(range.StartValueOpen.IsEmpty);
            Assert.Equal("z", range.EndValueClosed.ToStringUtf8());
            Assert.True(range.EndValueOpen.IsEmpty);

            range = ValueRange.Closed(null, new BigtableByteString(0x12, 0xFE));
            Assert.True(range.StartValueClosed.IsEmpty);
            Assert.True(range.StartValueOpen.IsEmpty);
            Assert.Equal(new byte[] { 0x12, 0xFE }, range.EndValueClosed.ToByteArray());
            Assert.True(range.EndValueOpen.IsEmpty);

            range = ValueRange.Closed(ByteString.CopyFrom(0x00, 0x01, 0xFF), null);
            Assert.Equal(new byte[] { 0x00, 0x01, 0xFF }, range.StartValueClosed.ToByteArray());
            Assert.True(range.StartValueOpen.IsEmpty);
            Assert.True(range.EndValueClosed.IsEmpty);
            Assert.True(range.EndValueOpen.IsEmpty);

            range = ValueRange.Closed(null, null);
            Assert.True(range.StartValueClosed.IsEmpty);
            Assert.True(range.StartValueOpen.IsEmpty);
            Assert.True(range.EndValueClosed.IsEmpty);
            Assert.True(range.EndValueOpen.IsEmpty);
        }