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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
 }