public void CheckAttributes()
        {
            var init   = ScriptableObject.CreateInstance <ContextTestInit>();
            var update = ScriptableObject.CreateInstance <ContextTestUpdate>();
            var output = ScriptableObject.CreateInstance <ContextTestOutput>();

            init.LinkTo(update);
            update.LinkTo(output);

            VFXData data = init.GetData();

            data.CollectAttributes();

            Assert.AreEqual(4, data.GetNbAttributes());

            Assert.IsTrue(data.IsAttributeStored(attrib1));
            Assert.IsTrue(data.IsAttributeStored(attrib2));
            Assert.IsTrue(data.IsAttributeLocal(attrib3));
            Assert.IsTrue(data.IsAttributeLocal(attrib4));

            Assert.IsTrue(data.IsCurrentAttributeRead(attrib1));
            Assert.IsTrue(data.IsCurrentAttributeRead(attrib2));
            Assert.IsTrue(data.IsCurrentAttributeRead(attrib3));
            Assert.IsFalse(data.IsCurrentAttributeRead(attrib4));

            Assert.IsTrue(data.IsCurrentAttributeWritten(attrib1));
            Assert.IsTrue(data.IsCurrentAttributeWritten(attrib2));
            Assert.IsFalse(data.IsCurrentAttributeWritten(attrib3));
            Assert.IsTrue(data.IsCurrentAttributeWritten(attrib4));
        }