public void EveryExtractTarot_SameAsDataStoreInDatabase_Reversed()
        {
            Ifinder             = new TarotCardFinder();
            TarotDatabaseObject =
                (TarotCardDatabaseObject)AssetDatabase.LoadAssetAtPath(DATABASE_PATH, typeof(TarotCardDatabaseObject));

            var direction = CardDirection.Reversed;
            var position  = Vector3.zero;

            for (int cardIndex = 0; cardIndex < tarotNameList.Count; cardIndex++)
            {
                var dummyTarot  = Ifinder.FindTarotCardByNameAndDirection(tarotNameList[cardIndex], direction, position);
                var expectTarot = TarotDatabaseObject.TarotCard(index: cardIndex);

                Assert.AreEqual(expectTarot.cardName, dummyTarot.Name);
                Assert.AreEqual(expectTarot.cardEngName, dummyTarot.EnglishName);

                Assert.AreEqual(expectTarot.curSituation_re, dummyTarot.CurrentSituationSituation_Re);
                Assert.AreEqual(expectTarot.feelings_re, dummyTarot.HumanFeelings_Re);
                Assert.AreEqual(expectTarot.cause_re, dummyTarot.ProblemCause_Re);
                Assert.AreEqual(expectTarot.future_re, dummyTarot.Future_Re);
                Assert.AreEqual(expectTarot.advice_re, dummyTarot.Advice_Re);

                Assert.AreEqual(expectTarot.love_re, dummyTarot.Love_Re);
                Assert.AreEqual(expectTarot.work_re, dummyTarot.Work_Re);
                Assert.AreEqual(expectTarot.interpersonal_re, dummyTarot.Interpersonal_Re);
                Assert.AreEqual(expectTarot.other_re, dummyTarot.Other_Re);
            }
        }
        void DisplayListArea()
        {
            EditorGUILayout.BeginVertical(GUILayout.Width(250));
            EditorGUILayout.Space();

            scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition, "box", GUILayout.ExpandWidth(true));

            for (int i = 0; i < databaseObject.Count; i++)
            {
                EditorGUILayout.BeginHorizontal();

                if (GUILayout.Button(databaseObject.TarotCard(i).number + " " + databaseObject.TarotCard(i).cardName, "box", GUILayout.ExpandWidth(true)))
                {
                    selectedCard = i;
                    dataState    = State.EDIT;
                }

                EditorGUILayout.EndHorizontal();
            }

            EditorGUILayout.EndScrollView();
            EditorGUILayout.BeginHorizontal(GUILayout.ExpandWidth(true));
            EditorGUILayout.LabelField("カードの数 : " + databaseObject.Count, GUILayout.Width(100));

            if (GUILayout.Button("新しいカードを登録"))
            {
                dataState = State.ADD;
            }

            if (GUILayout.Button("一括ファイル生成"))
            {
                for (int cnt = 0; cnt < databaseObject.Count; cnt++)
                {
                    var progress = (float)cnt / databaseObject.Count;
                    EditorUtility.DisplayProgressBar("ファイル作成中", databaseObject.TarotCard(cnt).cardEngName + ".txt", progress);

                    var jsonString = CreateTarotInformationJson(databaseObject.TarotCard(cnt));
                    var filename   = databaseObject.TarotCard(cnt).number + "_" + databaseObject.TarotCard(cnt).cardEngName + ".json";
                    SaveFile(jsonString, filename);
                }
                EditorUtility.ClearProgressBar();
            }

            EditorGUILayout.EndHorizontal();
            EditorGUILayout.Space();
            EditorGUILayout.EndVertical();
        }