private static PagingPredicate UnwrapPagingPredicate(IPredicate predicate)
 {
     return(predicate switch
     {
         PagingPredicate paging => paging,
         PartitionPredicate partition => partition.Target as PagingPredicate,
         _ => null
     });
        private static PagingPredicateHolder OfInternal(PartitionPredicate partitionPredicate,
                                                        ISerializationService serializationService)
        {
            if (partitionPredicate == null)
            {
                return(null);
            }

            var pagingPredicate = (PagingPredicate)partitionPredicate.GetTarget();

            var partitionKeyData = serializationService.ToData(partitionPredicate.GetPartitionKey());

            return(BuildHolder(serializationService, pagingPredicate, partitionKeyData));
        }
Exemplo n.º 3
0
        public void PartitionPredicate()
        {
            AssertPredicate(new PartitionPredicate(), PredicateDataSerializerHook.PartitionPredicate);
            AssertPredicate(new PartitionPredicate("key", Predicates.True()), PredicateDataSerializerHook.PartitionPredicate);

            var partition = new PartitionPredicate("key", Predicates.True());

            Assert.That(partition.FactoryId, Is.EqualTo(FactoryIds.PredicateFactoryId));
            Assert.That(partition.ClassId, Is.EqualTo(PredicateDataSerializerHook.PartitionPredicate));

            using var output = new ObjectDataOutput(1024, _serializationService, Endianness.BigEndian);
            partition.WriteData(output);
            using var input = new ObjectDataInput(output.Buffer, _serializationService, Endianness.BigEndian);
            var p = new PartitionPredicate();

            p.ReadData(input);

            Assert.That(p.PartitionKey, Is.EqualTo(partition.PartitionKey));
            Assert.That(p.Target, Is.EqualTo(partition.Target));
        }
Exemplo n.º 4
0
        public void PartitionPredicate()
        {
            AssertPredicate(new PartitionPredicate(), PredicateDataSerializerHook.PartitionPredicate);
            AssertPredicate(new PartitionPredicate("key", Predicate.True()), PredicateDataSerializerHook.PartitionPredicate);

            var partition = new PartitionPredicate("key", Predicate.True());

            Assert.That(partition.FactoryId, Is.EqualTo(FactoryIds.PredicateFactoryId));
            Assert.That(partition.ClassId, Is.EqualTo(PredicateDataSerializerHook.PartitionPredicate));

            Assert.Throws <ArgumentNullException>(() => partition.WriteData(null));
            Assert.Throws <ArgumentNullException>(() => partition.ReadData(null));

            using var output = new ByteArrayObjectDataOutput(1024, _serializationService, Endianness.Unspecified);
            partition.WriteData(output);
            using var input = new ByteArrayObjectDataInput(output.Buffer, _serializationService, Endianness.Unspecified);
            var p = new PartitionPredicate();

            p.ReadData(input);

            Assert.That(p.PartitionKey, Is.EqualTo(partition.PartitionKey));
            Assert.That(p.Target, Is.EqualTo(partition.Target));
        }