public void SerializesAndDeserializesObject() { var p = new TestSerializable { Name = "Hans", Age = 22 }; Assert.AreEqual(p, _serializer.Deserialize( _serializer.Serialize(TestUtils.CreateNetworkEvent(p), out int length), length ).Data); }
public void Roundtrip() { var expected = new TestSerializable { Switch = true, Text = "Hello world", Value = 42f }; var xml = expected.ToString(); Assert.IsFalse(string.IsNullOrEmpty(xml)); var actual = TestSerializable.FromString(xml); Assert.IsNotNull(actual); Assert.AreEqual(expected.Switch, actual.Switch); Assert.AreEqual(expected.Text, actual.Text); Assert.AreEqual(expected.Value, actual.Value); }
public void PropertyTypeTest() { Expect.IsTrue(_testDatabases.Count > 0); string methodName = MethodBase.GetCurrentMethod().Name; _testDatabases.Each(db => { Message.PrintLine("{0}.{1}: {2}", ConsoleColor.DarkYellow, this.GetType().Name, methodName, db.GetType().Name); DateTime utc = DateTime.UtcNow; DaoReferenceObject obj = new DaoReferenceObject(db) { IntProperty = RandomNumber.Between(0, 100), DecimalProperty = 10.15m, LongProperty = 99999, DateTimeProperty = utc, BoolProperty = true }; string testName = 16.RandomLetters(); obj.ByteArrayProperty = new TestSerializable(testName).ToBinaryBytes(); Instant now = new Instant(); obj.StringProperty = now.ToString(); obj.Save(db); DaoReferenceObject retrieved = DaoReferenceObject.OneWhere(c => c.Id == obj.Id, db); Expect.AreEqual(obj.Id, retrieved.Id, "Ids didn't match"); Expect.AreEqual(obj.IntProperty, retrieved.IntProperty, "IntProperty didn't match"); Expect.AreEqual(obj.DecimalProperty, retrieved.DecimalProperty, "DecimalProperty didn't match"); Expect.AreEqual(obj.LongProperty, retrieved.LongProperty, "LongProperty didn't match"); DateTime shouldBe = obj.DateTimeProperty.Value.DropMilliseconds(); DateTime _is = retrieved.DateTimeProperty.Value.DropMilliseconds(); Expect.AreEqual(shouldBe, _is, "DateTimeProperty didn't match"); Expect.AreEqual(obj.BoolProperty, retrieved.BoolProperty, "BoolProperty didn't match"); Expect.AreEqual(obj.StringProperty, retrieved.StringProperty, "StringProperty didn't match"); TestSerializable deserialized = obj.ByteArrayProperty.FromBinaryBytes <TestSerializable>(); Expect.AreEqual(testName, deserialized.Name); Instant then = Instant.FromString(retrieved.StringProperty); Expect.AreEqual(now.ToDateTime(), then.ToDateTime()); }); }
public void Interceptor_HasChanged_FalseWhenNoChanges() { var hasChanged = GeneratedAssembly.GetType("GDSX.Externals.LinqPad.Driver.Interceptor`1", true).MakeGenericType(typeof(TestSerializable)) .GetMethod("HasChanged", BindingFlags.Public | BindingFlags.Static); hasChanged = hasChanged.MakeGenericMethod(typeof(TestSerializable)); //var deepHash = GeneratedAssembly.GetType("GDSX.Externals.LinqPad.Driver.Interceptor`1", true).MakeGenericType(typeof(TestSerializable)) // .GetMethod("DeepHash", BindingFlags.Public | BindingFlags.Static); //deepHash = deepHash.MakeGenericMethod(typeof(TestSerializable)); var toTest = new TestSerializable { TestId = "abcdef" }; //int hash = (int)deepHash.Invoke(null, new object[] { toTest }); var originalDoc = toTest.ToBsonDocument(); bool changed = (bool)hasChanged.Invoke(null, new object[] { toTest, originalDoc }); Assert.IsFalse(changed); }
protected bool Equals(TestSerializable other) { return(string.Equals(Name, other.Name) && Age == other.Age); }