public void ReadCustomReaderTest()
        {
            var test = NbtClassIo.CreateAndReadFromNbt <TestIoClassCustomReader>(demoData);

            Assert.AreEqual(test.CustomInt, 43);
            Assert.IsNull(test.TestString);
        }
        public void ReadExceptionTest()
        {
            Assert.Throws <ParseException>(() =>
                                           NbtClassIo.CreateAndReadFromNbt <TestIoClassTypeMismatch>(demoData));

            Assert.Throws <FieldMissingException>(() =>
                                                  NbtClassIo.CreateAndReadFromNbt <TestIoClassMissing>(demoData));
        }
        public void ReadComplicatedTypeTest()
        {
            var test = NbtClassIo.CreateAndReadFromNbt <TestComplicatedIoClass>(demoData2);

            Assert.IsNull(test.NonexistentList);
            Assert.AreEqual(test.Nested.NestedInt, 42);
            Assert.AreEqual(test.ListOfInts.ToArray(), new[] { 4, 2 });

            Assert.AreEqual(test.ListOfNested.Count, 2);
            Assert.AreEqual(test.ListOfNested[0].NestedInt, 4);
            Assert.AreEqual(test.ListOfNested[1].NestedInt, 2);

            Assert.AreEqual(test.ListOfLists.Count, 1);
            Assert.AreEqual(test.ListOfLists[0].Count, 1);
            Assert.AreEqual(test.ListOfLists[0][0], 5);
        }
        public void ReadBasicTypeTest()
        {
            var test = NbtClassIo.CreateAndReadFromNbt <TestIoClass>(demoData);

            Assert.AreEqual(test.TestInt, 42);
            Assert.AreEqual(test.TestString, "42");
            Assert.AreEqual(test.TestByte, 42);
            Assert.IsTrue(test.TestBooleanTrue);
            Assert.IsFalse(test.TestBooleanFalse);
            Assert.AreEqual(test.TestShort, 42);
            Assert.AreEqual(test.TestLong, 42);
            Assert.IsTrue(Math.Abs(test.TestFloat - 42.0f) < 1e-4f);
            Assert.IsTrue(Math.Abs(test.TestDouble - 42.0) < 1e-4);
            Assert.AreEqual(test.TestByteArray, new byte[] { 4, 2 });
            Assert.AreEqual(test.TestIntArray, new [] { 4, 2 });
            Assert.AreEqual(test.TestLongArray, new long[] { 4, 2 });

            Assert.AreEqual(test.AliasTest, 42);
            Assert.AreEqual(test.PropertyTest, 42);
            Assert.IsNull(test.OptionalTest);
        }
        public void ReadPostEventTest()
        {
            var test = NbtClassIo.CreateAndReadFromNbt <TestIoClassPostRead>(demoData);

            Assert.AreEqual(test.TestInt, 43);
        }
Exemple #6
0
 protected virtual void InitializeComponents(NbtCompound compound)
 {
     NbtClassIo.ReadFromNbt(this, compound);
 }