コード例 #1
0
        public void EntityReaderWriter_Roundtrip_ReliableSubscription()
        {
            var registry = new QueryEngineRegistry(new MockQueryEngineRegistry());

            var sub = new ReliableSubscriptionEntity(new Uri("io:/1"), Expression.Default(typeof(object)), null);

            var stream = new MemoryStream();

            Write();

            stream.Position = 0;

            var rt = Read();

            Assert.AreEqual(ReactiveEntityKind.ReliableSubscription, rt.Kind);
            Assert.AreEqual(sub.Uri, rt.Uri);
            AssertEqual(sub.Expression, rt.Expression);
            Assert.AreEqual(sub.State, rt.State);

            void Write()
            {
                using var writer = new EntityWriter(stream, new SerializationPolicy(DefaultExpressionPolicy.Instance, Versioning.v1));

                writer.WriteHeader();
                writer.Save(sub);
            }

            ReactiveEntity Read()
            {
                using var reader = new EntityReader(stream, registry, new SerializationPolicy(DefaultExpressionPolicy.Instance, Versioning.v1));

                reader.ReadHeader();

                var rt = reader.Load(ReactiveEntityKind.ReliableSubscription);

                reader.ReadFooter();

                return(rt);
            }
        }
コード例 #2
0
 /// <summary>
 /// Creates a new instance of <see cref="ReliableSubscriptionEventArgs"/> class for the specified entity.
 /// </summary>
 /// <param name="entity">The entity representing the reliable subscription.</param>
 public ReliableSubscriptionEventArgs(ReliableSubscriptionEntity entity)
     : base(entity.Uri, entity, ReactiveEntityKind.ReliableSubscription)
 {
 }