示例#1
0
        private void CheckFromTag(bool fill)
        {
            var stringValue = "test_string_value_rv";
            var intValue    = 882882;

            var shadow = new EasyTestClass();

            var tag = new NbtCompound();

            tag.Add(new NbtString(nameof(shadow.EasyStringProperty), stringValue));
            tag.Add(new NbtInt(nameof(shadow.EasyIntProperty), intValue));

            EasyTestClass result = null;

            if (fill)
            {
                result = shadow;
                NbtSerializer.FillObject(result, tag);
            }
            else
            {
                result = NbtSerializer.DeserializeObject <EasyTestClass>(tag);
            }

            Assert.IsNotNull(result);

            Assert.AreEqual(stringValue, result.EasyStringProperty);
            Assert.AreEqual(intValue, result.EasyIntProperty);
        }
示例#2
0
        public void TypesTest()
        {
            var raw          = new TypesTestClass();
            var tag          = NbtSerializer.SerializeObject(raw);
            var deserialized = NbtSerializer.DeserializeObject <TypesTestClass>(tag);

            Assert.IsNotNull(tag);

            Assert.AreEqual(raw.BoolFalseTestProperty, deserialized.BoolFalseTestProperty);
            Assert.AreEqual(raw.BoolTrueTestProperty, deserialized.BoolTrueTestProperty);
            Assert.AreEqual(raw.ByteArrayTestProperty, deserialized.ByteArrayTestProperty);
            Assert.AreEqual(raw.IntArrayTestProperty, deserialized.IntArrayTestProperty);
            Assert.AreEqual(raw.ByteTestProperty, deserialized.ByteTestProperty);
            Assert.AreEqual(raw.SByteTestProperty, deserialized.SByteTestProperty);
            Assert.AreEqual(raw.ShortTestProperty, deserialized.ShortTestProperty);
            Assert.AreEqual(raw.UShortTestProperty, deserialized.UShortTestProperty);
            Assert.AreEqual(raw.IntTestProperty, deserialized.IntTestProperty);
            Assert.AreEqual(raw.UIntTestProperty, deserialized.UIntTestProperty);
            Assert.AreEqual(raw.LongTestProperty, deserialized.LongTestProperty);
            Assert.AreEqual(raw.ULongTestProperty, deserialized.ULongTestProperty);

            Assert.AreEqual(raw.NbtIntProperty.Value, deserialized.NbtIntProperty.Value);

            AssertTagValue <NbtByte>(tag, nameof(raw.BoolFalseTestProperty), raw.BoolFalseTestProperty, t => Convert.ToBoolean(t.Value));
            AssertTagValue <NbtByte>(tag, nameof(raw.BoolTrueTestProperty), raw.BoolTrueTestProperty, t => Convert.ToBoolean(t.Value));
            AssertTagValue <NbtByteArray>(tag, nameof(raw.ByteArrayTestProperty), raw.ByteArrayTestProperty, t => t.Value);
            AssertTagValue <NbtIntArray>(tag, nameof(raw.IntArrayTestProperty), raw.IntArrayTestProperty, t => t.Value);
            AssertTagValue <NbtByte>(tag, nameof(raw.ByteTestProperty), raw.ByteTestProperty, t => t.Value);
            AssertTagValue <NbtByte>(tag, nameof(raw.SByteTestProperty), raw.SByteTestProperty, t => (sbyte)t.Value);
            AssertTagValue <NbtShort>(tag, nameof(raw.ShortTestProperty), raw.ShortTestProperty, t => t.Value);
            AssertTagValue <NbtShort>(tag, nameof(raw.UShortTestProperty), raw.UShortTestProperty, t => (ushort)t.Value);
            AssertTagValue <NbtInt>(tag, nameof(raw.IntTestProperty), raw.IntTestProperty, t => t.Value);
            AssertTagValue <NbtInt>(tag, nameof(raw.UIntTestProperty), raw.UIntTestProperty, t => (uint)t.Value);
            AssertTagValue <NbtLong>(tag, nameof(raw.LongTestProperty), raw.LongTestProperty, t => t.Value);
            AssertTagValue <NbtLong>(tag, nameof(raw.ULongTestProperty), raw.ULongTestProperty, t => (ulong)t.Value);

            AssertTagValue <NbtInt>(tag, nameof(raw.NbtIntProperty), raw.NbtIntProperty.Value, t => t.Value);
        }
示例#3
0
        public void FillTest()
        {
            var valuesSet = new List <string>()
            {
                "testVal1", "test_val_2", "TestVal3", "TEST_VAL_4"
            };

            var original = new FillTestClass();

            original.GetOnlyTestStringList.AddRange(valuesSet);
            original.GetOnlyTestClassProperty.EasyIntProperty    = 321;
            original.GetOnlyTestClassProperty.EasyStringProperty = "ESP_TEST_FILL";

            var tag = NbtSerializer.SerializeObject(original);

            var result = NbtSerializer.DeserializeObject <FillTestClass>(tag);

            Assert.IsNotNull(result);

            Assert.AreEqual(original.GetOnlyTestClassProperty.EasyIntProperty, result.GetOnlyTestClassProperty.EasyIntProperty);
            Assert.AreEqual(original.GetOnlyTestClassProperty.EasyStringProperty, result.GetOnlyTestClassProperty.EasyStringProperty);
            CollectionAssert.AreEquivalent(original.GetOnlyTestStringList, result.GetOnlyTestStringList);
        }