コード例 #1
0
        public void ItemSchemaTest_OptionalFieldsHaveCorrectValues()
        {
            var nativeItem = TestSchemaPass.GetNativeItemPassingWithOptionals(out var testSubstructure);

            ItemSchema.FitSchema <TestSchemaPass>(nativeItem, out var schematized);
            Assert.AreEqual(double.Parse(nativeItem.Doubles.GetO("NOT THERE")), schematized.doubleField_Defaults);
            Assert.AreEqual(nativeItem.Longs.GetV("NOT THERE"), schematized.longField_Defaults);
            Assert.AreEqual(nativeItem.Strings.GetO("NOT THERE"), schematized.stringField_Defaults);
        }
コード例 #2
0
 public void ItemSchemaTest_Depots()
 {
     ItemSchema.FitSchema <TestSchemaWithDepots>(TestSchemaWithDepots.GetNativeItem(), out var schematized);
     Assert.AreEqual("this is specific indeed", schematized.SomethingSpecific);
     Assert.AreEqual(1, schematized.Bullshit.Count);
     Assert.AreEqual("only a lil bullshit", schematized.Bullshit["bullshit"]);
     Assert.AreEqual(2, schematized.EverythingElse.Count);
     Assert.AreEqual("bar", schematized.EverythingElse["foo"]);
     Assert.AreEqual("blah", schematized.EverythingElse["blah"]);
 }
コード例 #3
0
        public void ItemSchemaTest_CorrectValuesAfterConversionToSchema_Inheritance()
        {
            var nativeItem = TestSchemaPass.GetNativeItemPassing(out var testSubstructure);

            ItemSchema.FitSchema <TestSchemaPassExtend>(nativeItem, out var schematized);
            Assert.AreEqual(nativeItem.Id, schematized.UniqueId);
            Assert.AreEqual(double.Parse(nativeItem.Doubles.GetO("dFID")), schematized.doubleField_IsDouble);
            Assert.AreEqual(float.Parse(nativeItem.Doubles.GetO("dFND")), schematized.doubleField_NotDouble);
            Assert.AreEqual(double.NaN, schematized.doubleField_Defaults);
            Assert.AreEqual(nativeItem.Longs.GetV("lFIL"), schematized.longField_IsLong);
            Assert.AreEqual((short)nativeItem.Longs.GetV("lFNL"), schematized.longField_NotLong);
            Assert.AreEqual(1024, schematized.longField_Defaults);
            Assert.AreEqual(nativeItem.Strings.GetO("sFIS"), schematized.stringField_IsString);
            Assert.AreEqual(nativeItem.Strings.GetO("sFNS"), (string)schematized.stringField_NotString);
            Assert.AreEqual("Nope.", schematized.stringField_Defaults);
            Assert.AreEqual(testSubstructure.AnInt, schematized.stringField_SerializedData.AnInt);
            Assert.AreEqual(testSubstructure.AnotherInt, schematized.stringField_SerializedData.AnotherInt);
            Assert.AreEqual(testSubstructure.AString, schematized.stringField_SerializedData.AString);
            Assert.AreEqual(nativeItem.Longs.GetV("lFWC"), schematized.longBackedField_WithConstraints);
        }
コード例 #4
0
 public void ItemSchemaTest_DateTime()
 {
     ItemSchema.FitSchema <TestSchemaWithDateTime>(TestSchemaWithDateTime.GetNativeItem(), out var schematized);
     Assert.AreEqual(Util.UnixEpoch, schematized.timestamp);
 }
コード例 #5
0
 public void ItemSchemaTest_DoesNotMatchSchema()
 {
     Debug.Log("Two schema matches are going to fail as part of ItemSchemaTest_DoesNotMatchSchema now. The warnings are expected.");
     Assert.IsFalse(ItemSchema.FitSchema <TestSchemaPass>(new Item(), out _));
     Assert.IsFalse(ItemSchema.FitSchema <TestSchemaPass>(TestSchemaPass.GetNativeItemNotPassing(out _), out _));
 }
コード例 #6
0
 public void ItemSchemaTest_MatchesSchema()
 {
     Assert.IsTrue(ItemSchema.FitSchema <TestSchemaPass>(TestSchemaPass.GetNativeItemPassing(out _), out _));
     Assert.IsTrue(ItemSchema.FitSchema <TestSchemaPass>(TestSchemaPass.GetNativeItemPassingWithOptionals(out _), out _));
 }