public void GivenListTokenDateTimeCompositeSearchParams_WhenDinstict_ThenRecordShouldBeDistincted()
        {
            DateTimeOffset startDateTime = DateTimeOffset.Now;
            DateTimeOffset endDateTime   = DateTimeOffset.Now.AddSeconds(1);
            List <BulkTokenDateTimeCompositeSearchParamTableTypeV1Row> input = new List <BulkTokenDateTimeCompositeSearchParamTableTypeV1Row>()
            {
                new BulkTokenDateTimeCompositeSearchParamTableTypeV1Row(0, 0, 1, "test", startDateTime, endDateTime, true),
                new BulkTokenDateTimeCompositeSearchParamTableTypeV1Row(0, 1, 1, "test", startDateTime, endDateTime, true),
                new BulkTokenDateTimeCompositeSearchParamTableTypeV1Row(0, 0, 0, "test", startDateTime, endDateTime, true),
                new BulkTokenDateTimeCompositeSearchParamTableTypeV1Row(0, 0, 1, "test1", startDateTime, endDateTime, true),
                new BulkTokenDateTimeCompositeSearchParamTableTypeV1Row(0, 0, 1, "test", endDateTime, endDateTime, true),
                new BulkTokenDateTimeCompositeSearchParamTableTypeV1Row(0, 0, 1, "test", startDateTime, startDateTime, true),
                new BulkTokenDateTimeCompositeSearchParamTableTypeV1Row(0, 0, 1, "test", startDateTime, endDateTime, false),
                new BulkTokenDateTimeCompositeSearchParamTableTypeV1Row(0, 0, null, "test", startDateTime, endDateTime, true),
                new BulkTokenDateTimeCompositeSearchParamTableTypeV1Row(0, 0, 1, null, startDateTime, endDateTime, true),

                new BulkTokenDateTimeCompositeSearchParamTableTypeV1Row(0, 0, 1, "test", startDateTime, endDateTime, true),
                new BulkTokenDateTimeCompositeSearchParamTableTypeV1Row(0, 1, 1, "test", startDateTime, endDateTime, true),
                new BulkTokenDateTimeCompositeSearchParamTableTypeV1Row(0, 0, 0, "test", startDateTime, endDateTime, true),
                new BulkTokenDateTimeCompositeSearchParamTableTypeV1Row(0, 0, 1, "test1", startDateTime, endDateTime, true),
                new BulkTokenDateTimeCompositeSearchParamTableTypeV1Row(0, 0, 1, "test", endDateTime, endDateTime, true),
                new BulkTokenDateTimeCompositeSearchParamTableTypeV1Row(0, 0, 1, "test", startDateTime, startDateTime, true),
                new BulkTokenDateTimeCompositeSearchParamTableTypeV1Row(0, 0, 1, "test", startDateTime, endDateTime, false),
                new BulkTokenDateTimeCompositeSearchParamTableTypeV1Row(0, 0, null, "test", startDateTime, endDateTime, true),
                new BulkTokenDateTimeCompositeSearchParamTableTypeV1Row(0, 0, 1, null, startDateTime, endDateTime, true),
            };

            Assert.Equal(9, TokenDateTimeCompositeSearchParamsTableBulkCopyDataGenerator.Distinct(input).Count());
        }