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); } } } } }
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))); } } }
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); } } } }
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); } } } }
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)); }
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); }
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); } } } }
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))); } } }