override public void TestBasics(T fbxGeometry, FbxNodeAttribute.EType typ)
        {
            base.TestBasics(fbxGeometry, typ);

            int origCount = fbxGeometry.GetDeformerCount();

            // test get blendshape deformer
            FbxBlendShape blendShape = FbxBlendShape.Create(Manager, "blendShape");
            int           index      = fbxGeometry.AddDeformer(blendShape);

            Assert.GreaterOrEqual(index, 0);
            origCount++;

            // TODO: (UNI-19581): If we add the blendShape after the skin, then the below
            //                    tests fail.
            Assert.AreEqual(blendShape, fbxGeometry.GetBlendShapeDeformer(index));
            Assert.AreEqual(blendShape, fbxGeometry.GetBlendShapeDeformer(index, null));
            Assert.AreEqual(blendShape, fbxGeometry.GetDeformer(index, FbxDeformer.EDeformerType.eBlendShape));
            Assert.AreEqual(1, fbxGeometry.GetDeformerCount(FbxDeformer.EDeformerType.eBlendShape));

            // test add deformer
            FbxSkin skin      = FbxSkin.Create(Manager, "skin");
            int     skinIndex = fbxGeometry.AddDeformer(skin);

            Assert.GreaterOrEqual(skinIndex, 0);
            Assert.AreEqual(skin, fbxGeometry.GetDeformer(skinIndex));

            // test get invalid deformer index doesn't crash
            fbxGeometry.GetDeformer(-1, new FbxStatus());
            fbxGeometry.GetDeformer(int.MaxValue, new FbxStatus());

            // test get deformer null FbxStatus
            fbxGeometry.GetDeformer(0, null);

            // check right index but wrong type
            Assert.IsNull(fbxGeometry.GetDeformer(skinIndex, FbxDeformer.EDeformerType.eVertexCache, null));

            Assert.AreEqual(origCount + 1, fbxGeometry.GetDeformerCount());

            // test add null deformer
            Assert.That(() => fbxGeometry.AddDeformer(null), Throws.Exception.TypeOf <System.ArgumentNullException>());

            // test add invalid deformer
            skin.Destroy();
            Assert.That(() => fbxGeometry.AddDeformer(skin), Throws.Exception.TypeOf <System.ArgumentNullException>());
        }