diff --git a/calendar-jp/Components/unit-test.4dbase/Libraries/lib4d-arm64.dylib b/calendar-jp/Components/unit-test.4dbase/Libraries/lib4d-arm64.dylib
new file mode 100755
index 0000000..cacc094
Binary files /dev/null and b/calendar-jp/Components/unit-test.4dbase/Libraries/lib4d-arm64.dylib differ
diff --git a/calendar-jp/Components/unit-test.4dbase/Resources/Images/fail.svg b/calendar-jp/Components/unit-test.4dbase/Resources/Images/fail.svg
new file mode 100644
index 0000000..c5dff56
--- /dev/null
+++ b/calendar-jp/Components/unit-test.4dbase/Resources/Images/fail.svg
@@ -0,0 +1,17 @@
+
+
diff --git a/calendar-jp/Components/unit-test.4dbase/Resources/Images/success.svg b/calendar-jp/Components/unit-test.4dbase/Resources/Images/success.svg
new file mode 100644
index 0000000..a73c2fb
--- /dev/null
+++ b/calendar-jp/Components/unit-test.4dbase/Resources/Images/success.svg
@@ -0,0 +1,17 @@
+
+
diff --git a/calendar-jp/Components/unit-test.4dbase/Resources/en.lproj/._syntaxEN.json b/calendar-jp/Components/unit-test.4dbase/Resources/en.lproj/._syntaxEN.json
new file mode 100644
index 0000000..e366b04
Binary files /dev/null and b/calendar-jp/Components/unit-test.4dbase/Resources/en.lproj/._syntaxEN.json differ
diff --git a/calendar-jp/Components/unit-test.4dbase/Resources/en.lproj/syntaxEN.json b/calendar-jp/Components/unit-test.4dbase/Resources/en.lproj/syntaxEN.json
new file mode 100644
index 0000000..21e43e9
--- /dev/null
+++ b/calendar-jp/Components/unit-test.4dbase/Resources/en.lproj/syntaxEN.json
@@ -0,0 +1,281 @@
+{
+ "_method_": {},
+ "cs.UTest": {
+ "UTest": {
+ "new()": {
+ "Syntax": "**.new**()",
+ "Params": [],
+ "Summary": ""
+ }
+ },
+ "CLI": {
+ "new()": {
+ "Syntax": "**.new**()",
+ "Params": [],
+ "Summary": ""
+ }
+ }
+ },
+ "UTest": {
+ "toBe()": {
+ "Syntax": "**.toBe**( *expectedValue* : Variant ) : cs.UTest.UTest",
+ "Params": [
+ [
+ "expectedValue",
+ "Variant",
+ "->"
+ ],
+ [
+ "",
+ "cs.UTest.UTest",
+ "<-"
+ ]
+ ],
+ "Summary": ""
+ },
+ "show()": {
+ "Syntax": "**.show**()",
+ "Params": [],
+ "Summary": ""
+ },
+ "run()": {
+ "Syntax": "**.run**( *testClasses* : Collection ) : cs.UTest.UTest",
+ "Params": [
+ [
+ "testClasses",
+ "Collection",
+ "->"
+ ],
+ [
+ "",
+ "cs.UTest.UTest",
+ "<-"
+ ]
+ ],
+ "Summary": ""
+ },
+ "expect()": {
+ "Syntax": "**.expect**( *receivedValue* : Variant ) : cs.UTest.UTest",
+ "Params": [
+ [
+ "receivedValue",
+ "Variant",
+ "->"
+ ],
+ [
+ "",
+ "cs.UTest.UTest",
+ "<-"
+ ]
+ ],
+ "Summary": ""
+ },
+ "describe()": {
+ "Syntax": "**.describe**( *description* : Text ) : cs.UTest.UTest",
+ "Params": [
+ [
+ "description",
+ "Text",
+ "->"
+ ],
+ [
+ "",
+ "cs.UTest.UTest",
+ "<-"
+ ]
+ ],
+ "Summary": ""
+ },
+ "createMock()": {
+ "Syntax": "**.createMock**( *formula* : Variant; *resultToRestur* : Variant )",
+ "Params": [
+ [
+ "formula",
+ "Variant",
+ "->"
+ ],
+ [
+ "resultToRestur",
+ "Variant",
+ "->"
+ ]
+ ],
+ "Summary": ""
+ },
+ "resultText()": {
+ "Syntax": "**.resultText**()->resultText : Text",
+ "Params": [
+ [
+ "resultText",
+ "Text",
+ "<-"
+ ]
+ ],
+ "Summary": ""
+ },
+ "build_HL()": {
+ "Syntax": "**.build_HL**( *list* : Integer )",
+ "Params": [
+ [
+ "list",
+ "Integer",
+ "->"
+ ]
+ ],
+ "Summary": ""
+ }
+ },
+ "CLI": {
+ "LF()": {
+ "Syntax": "**.LF**()->this : cs.UTest.CLI",
+ "Params": [
+ [
+ "this",
+ "cs.UTest.CLI",
+ "<-"
+ ]
+ ],
+ "Summary": ""
+ },
+ "print()": {
+ "Syntax": "**.print**( *message* : Text; *style* : Text )->this : cs.UTest.CLI",
+ "Params": [
+ [
+ "message",
+ "Text",
+ "->"
+ ],
+ [
+ "style",
+ "Text",
+ "->"
+ ],
+ [
+ "this",
+ "cs.UTest.CLI",
+ "<-"
+ ]
+ ],
+ "Summary": ""
+ },
+ "logo()": {
+ "Syntax": "**.logo**()->CLI : cs.UTest.CLI",
+ "Params": [
+ [
+ "CLI",
+ "cs.UTest.CLI",
+ "<-"
+ ]
+ ],
+ "Summary": ""
+ },
+ "escape()": {
+ "Syntax": "**.escape**( *message* : Text; *style* : Text )->ANSI : Text",
+ "Params": [
+ [
+ "message",
+ "Text",
+ "->"
+ ],
+ [
+ "style",
+ "Text",
+ "->"
+ ],
+ [
+ "ANSI",
+ "Text",
+ "<-"
+ ]
+ ],
+ "Summary": ""
+ },
+ "showCursor()": {
+ "Syntax": "**.showCursor**()->this : cs.UTest.CLI",
+ "Params": [
+ [
+ "this",
+ "cs.UTest.CLI",
+ "<-"
+ ]
+ ],
+ "Summary": ""
+ },
+ "hideCursor()": {
+ "Syntax": "**.hideCursor**()->this : cs.UTest.CLI",
+ "Params": [
+ [
+ "this",
+ "cs.UTest.CLI",
+ "<-"
+ ]
+ ],
+ "Summary": ""
+ },
+ "XY()": {
+ "Syntax": "**.XY**( *x* : Integer; *y* : Integer )->this : cs.UTest.CLI",
+ "Params": [
+ [
+ "x",
+ "Integer",
+ "->"
+ ],
+ [
+ "y",
+ "Integer",
+ "->"
+ ],
+ [
+ "this",
+ "cs.UTest.CLI",
+ "<-"
+ ]
+ ],
+ "Summary": ""
+ },
+ "ES()": {
+ "Syntax": "**.ES**()->this : cs.UTest.CLI",
+ "Params": [
+ [
+ "this",
+ "cs.UTest.CLI",
+ "<-"
+ ]
+ ],
+ "Summary": ""
+ },
+ "version()": {
+ "Syntax": "**.version**()->CLI : cs.UTest.CLI",
+ "Params": [
+ [
+ "CLI",
+ "cs.UTest.CLI",
+ "<-"
+ ]
+ ],
+ "Summary": ""
+ },
+ "EL()": {
+ "Syntax": "**.EL**()->this : cs.UTest.CLI",
+ "Params": [
+ [
+ "this",
+ "cs.UTest.CLI",
+ "<-"
+ ]
+ ],
+ "Summary": ""
+ },
+ "CR()": {
+ "Syntax": "**.CR**()->this : cs.UTest.CLI",
+ "Params": [
+ [
+ "this",
+ "cs.UTest.CLI",
+ "<-"
+ ]
+ ],
+ "Summary": ""
+ }
+ }
+}
\ No newline at end of file
diff --git a/calendar-jp/Components/unit-test.4dbase/Resources/ja.lproj/._BlankJA.xlf b/calendar-jp/Components/unit-test.4dbase/Resources/ja.lproj/._BlankJA.xlf
new file mode 100644
index 0000000..f6d5158
Binary files /dev/null and b/calendar-jp/Components/unit-test.4dbase/Resources/ja.lproj/._BlankJA.xlf differ
diff --git a/calendar-jp/Components/unit-test.4dbase/Resources/ja.lproj/BlankJA.xlf b/calendar-jp/Components/unit-test.4dbase/Resources/ja.lproj/BlankJA.xlf
new file mode 100755
index 0000000..a4c1f00
--- /dev/null
+++ b/calendar-jp/Components/unit-test.4dbase/Resources/ja.lproj/BlankJA.xlf
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/calendar-jp/Components/unit-test.4dbase/Resources/logo.txt b/calendar-jp/Components/unit-test.4dbase/Resources/logo.txt
new file mode 100644
index 0000000..459e7c2
--- /dev/null
+++ b/calendar-jp/Components/unit-test.4dbase/Resources/logo.txt
@@ -0,0 +1,21 @@
+..................................................
+. .
+. .**. .
+. .******************... .
+. .************************.. .
+. .******* .*********. .
+. .********* .*******. .
+. .*********** .*******. .
+. .**** ******* .******* .
+. .****. ******* .******. .
+. .****. ******* .******. .
+. .***. ******* .******. .
+. .***********.************ .****** .
+. *************.***********. ******. .
+. .************.**********. .*****. .
+. ******* .******. .
+. .*******. ...******. .
+. .***************************. .
+. .************************. .
+. .
+..................................................
\ No newline at end of file
diff --git a/calendar-jp/Components/unit-test.4dbase/unit-test.4DZ b/calendar-jp/Components/unit-test.4dbase/unit-test.4DZ
new file mode 100644
index 0000000..8a9259e
Binary files /dev/null and b/calendar-jp/Components/unit-test.4dbase/unit-test.4DZ differ
diff --git a/calendar-jp/Project/Sources/Methods/TEST.4dm b/calendar-jp/Project/Sources/Methods/TEST.4dm
index 3d93efd..e352afe 100644
--- a/calendar-jp/Project/Sources/Methods/TEST.4dm
+++ b/calendar-jp/Project/Sources/Methods/TEST.4dm
@@ -14,12 +14,6 @@ env:
*/
-If (OB Instance of:C1731(cs:C1710.UTest.UTest; 4D:C1709.Class))
-
- var $UTest : cs:C1710.UTest.UTest
- $UTest:=cs:C1710.UTest.UTest.new()
- return $UTest.run(OB Entries:C1720(cs:C1710))
-
-Else
- return {show: Formula:C1597(IDLE:C311)}
-End if
\ No newline at end of file
+var $UTest : cs:C1710.UTest.UTest
+$UTest:=cs:C1710.UTest.UTest.new()
+return $UTest.run(OB Entries:C1720(cs:C1710))