コード例 #1
0
        public void TestDefaultObjectSerialization()
        {
            using (new NATSServer())
            {
                using (IEncodedConnection c = DefaultEncodedConnection)
                {
                    Object mu = new Object();
                    SerializationTestObj origObj = new SerializationTestObj();

                    EventHandler <EncodedMessageEventArgs> eh = (sender, args) =>
                    {
                        // Ensure we blow up in the cast
                        SerializationTestObj so = (SerializationTestObj)args.ReceivedObject;
                        Assert.True(so.Equals(origObj));

                        lock (mu)
                        {
                            Monitor.Pulse(mu);
                        }
                    };

                    using (IAsyncSubscription s = c.SubscribeAsync("foo", eh))
                    {
                        lock (mu)
                        {
                            c.Publish("foo", new SerializationTestObj());
                            c.Flush();

                            Monitor.Wait(mu, 1000);
                        }
                    }
                }
            }
        }
コード例 #2
0
ファイル: UnitTestEncoding.cs プロジェクト: buybackoff/csnats
        public void TestEncodedObjectRequestReply()
        {
            using (IEncodedConnection c = new ConnectionFactory().CreateEncodedConnection())
            {
                Object mu = new Object();
                SerializationTestObj origObj = new SerializationTestObj();

                EventHandler <EncodedMessageEventArgs> eh = (sender, args) =>
                {
                    SerializationTestObj so = (SerializationTestObj)args.ReceivedObject;
                    Assert.IsTrue(so.Equals(origObj));
                    String str = "Received";

                    c.Publish(args.Reply, str);
                    c.Flush();

                    lock (mu)
                    {
                        Monitor.Pulse(mu);
                    }
                };

                using (IAsyncSubscription s = c.SubscribeAsync("foo", eh))
                {
                    Assert.IsTrue("Received".Equals(c.Request("foo", origObj, 1000)));
                    Assert.IsTrue("Received".Equals(c.Request("foo", origObj)));
                }
            }
        }
コード例 #3
0
        public void TestCustomObjectSerialization()
        {
            using (IEncodedConnection c = new ConnectionFactory().CreateEncodedConnection())
            {
                Object mu = new Object();
                SerializationTestObj origObj = new SerializationTestObj();

                EventHandler<EncodedMessageEventArgs> eh = (sender, args) =>
                {
                    // Ensure we blow up in the cast
                    SerializationTestObj so = (SerializationTestObj)args.ReceivedObject;
                    Assert.IsTrue(so.Equals(origObj));

                    lock (mu)
                    {
                        Monitor.Pulse(mu);
                    }
                };

                using (IAsyncSubscription s = c.SubscribeAsync("foo", eh))
                {
                    lock (mu)
                    {
                        c.Publish("foo", new SerializationTestObj());
                        c.Flush();

                        Monitor.Wait(mu, 1000);
                    }
                }
            }
        }
コード例 #4
0
ファイル: UnitTestEncoding.cs プロジェクト: buybackoff/csnats
        public void TestEncodedSerizationOverrides()
        {
            using (IEncodedConnection c = new ConnectionFactory().CreateEncodedConnection())
            {
                c.OnDeserialize = deserializeFromXML;
                c.OnSerialize   = serializeToXML;

                Object mu = new Object();
                SerializationTestObj origObj = new SerializationTestObj();
                origObj.a = 99;

                EventHandler <EncodedMessageEventArgs> eh = (sender, args) =>
                {
                    SerializationTestObj so = (SerializationTestObj)args.ReceivedObject;
                    Assert.IsTrue(so.Equals(origObj));

                    lock (mu)
                    {
                        Monitor.Pulse(mu);
                    }
                };

                using (IAsyncSubscription s = c.SubscribeAsync("foo", eh))
                {
                    lock (mu)
                    {
                        c.Publish("foo", origObj);
                        c.Flush();

                        Monitor.Wait(mu, 1000);
                    }
                }
            }
        }
コード例 #5
0
ファイル: TestEncoding.cs プロジェクト: rezabazargan/nats.net
            public override bool Equals(Object o)
            {
                if (o.GetType() != this.GetType())
                    return false;

                SerializationTestObj to = (SerializationTestObj) o;

                return (a == to.a && b == to.b && c.Equals(to.c));
            }
コード例 #6
0
        public void FaunaDbObjSerializer()
        {
            var testObj             = new SerializationTestObj();
            var autoSerialization   = testObj.ToFaunaObj();
            var manualSerialization = Language.Obj("testString", testObj.TestString, "testNumber", testObj.TestNumber,
                                                   "testObject", Language.Obj("identifier", "testIdent", "password", "testPwd"), "testBoolean",
                                                   testObj.TestBoolean, "testChar", testObj.TestChar.ToString(), "testDateTime",
                                                   testObj.TestDateTime.ToUnixTimeStamp());

            Assert.AreEqual(autoSerialization, manualSerialization);
        }
コード例 #7
0
        public void TestEncodedSerizationOverrides()
        {
            using (IEncodedConnection c = new ConnectionFactory().CreateEncodedConnection())
            {
                c.OnDeserialize = deserializeFromXML;
                c.OnSerialize = serializeToXML;

                Object mu = new Object();
                SerializationTestObj origObj = new SerializationTestObj();
                origObj.a = 99;

                EventHandler<EncodedMessageEventArgs> eh = (sender, args) =>
                {
                    SerializationTestObj so = (SerializationTestObj)args.ReceivedObject;
                    Assert.IsTrue(so.Equals(origObj));

                    lock (mu)
                    {
                        Monitor.Pulse(mu);
                    }
                };

                using (IAsyncSubscription s = c.SubscribeAsync("foo", eh))
                {
                    lock (mu)
                    {
                        c.Publish("foo", origObj);
                        c.Flush();

                        Monitor.Wait(mu, 1000);
                    }
                }
            }
        }
コード例 #8
0
        public void TestEncodedObjectRequestReply()
        {
            using (IEncodedConnection c = new ConnectionFactory().CreateEncodedConnection())
            {
                Object mu = new Object();
                SerializationTestObj origObj = new SerializationTestObj();

                EventHandler<EncodedMessageEventArgs> eh = (sender, args) =>
                {
                    SerializationTestObj so = (SerializationTestObj)args.ReceivedObject;
                    Assert.IsTrue(so.Equals(origObj));
                    String str = "Received";

                    c.Publish(args.Reply, str);
                    c.Flush();

                    lock (mu)
                    {
                        Monitor.Pulse(mu);
                    }
                };

                using (IAsyncSubscription s = c.SubscribeAsync("foo", eh))
                {
                    Assert.IsTrue("Received".Equals(c.Request("foo", origObj, 1000)));
                    Assert.IsTrue("Received".Equals(c.Request("foo", origObj)));
                }
            }
        }