public void GetAll()
        {
            RemoveAllGenericTypeAssets();

            //create two assets
            UnitTestGenericType asset1 = ScriptableObject.CreateInstance <UnitTestGenericType>();
            UnitTestGenericType asset2 = ScriptableObject.CreateInstance <UnitTestGenericType>();

            EditorUtility.SetDirty(asset1);
            EditorUtility.SetDirty(asset2);
            AssetDatabase.CreateAsset(asset1, path + "UnitTestGenericType1.asset");
            AssetDatabase.CreateAsset(asset2, path + "UnitTestGenericType2.asset");
            //check if existing
            Assert.IsNotNull(AssetDatabase.LoadAssetAtPath <UnitTestGenericType>(path + "UnitTestGenericType1.asset"));
            Assert.IsNotNull(AssetDatabase.LoadAssetAtPath <UnitTestGenericType>(path + "UnitTestGenericType2.asset"));

            //now load them with the utility function
            List <UnitTestGenericType> allAssets = PolyEditorUtility.GetAll <UnitTestGenericType>();

            Assert.IsNotNull(allAssets);
            Assert.IsTrue(allAssets.Count == 2);

            //cleanup
            AssetDatabase.DeleteAsset(path + "UnitTestGenericType1.asset");
            AssetDatabase.DeleteAsset(path + "UnitTestGenericType2.asset");
        }