public void PropertyElement_InlinedUnityObject_DoesNotCreateObjectField()
        {
            var target  = new ContainsAnInlineObject();
            var element = PropertyElement.MakeWithValue(target);

            Assert.That(element.Q <NullElement <InlineObject> >(), Is.Not.Null);
            Assert.That(element.Query <IntegerField>().ToList().Count, Is.EqualTo(0));
            Assert.That(element.Query <FloatField>().ToList().Count, Is.EqualTo(0));
            Assert.That(element.Query <TextField>().ToList().Count, Is.EqualTo(0));

            target.Object = ScriptableObject.CreateInstance <InlineObject>();
            try
            {
                Assert.DoesNotThrow(() => element.ForceUpdateBindings());
                Assert.That(element.Q <NullElement <InlineObject> >(), Is.Null);
                Assert.That(element.Query <IntegerField>().ToList().Count, Is.EqualTo(1));
                Assert.That(element.Query <FloatField>().ToList().Count, Is.EqualTo(1));
                Assert.That(element.Query <TextField>().ToList().Count, Is.EqualTo(1));
            }
            finally
            {
                UnityEngine.Object.DestroyImmediate(target.Object);
            }
        }