Skip to content

Commit 358834e

Browse files
authoredFeb 10, 2025··
Merge pull request #35 from nowsprinting/fix/assert_destroyed
Fix assert destroyed object
2 parents 309b2f1 + d6bd5e5 commit 358834e

File tree

2 files changed

+25
-7
lines changed

2 files changed

+25
-7
lines changed
 

‎Assets/APIExamples/Tests/Runtime/NUnit/ConstraintExample.cs

+24-6
Original file line numberDiff line numberDiff line change
@@ -935,15 +935,33 @@ public void XmlSerializableConstraint_XMLシリアル化が可能であること
935935
public class 破棄されたGameObject
936936
{
937937
[Test]
938-
[UnityPlatform(RuntimePlatform.OSXEditor, RuntimePlatform.WindowsEditor, RuntimePlatform.LinuxEditor)]
939-
// Note: プレイヤーではnull判定されるため除外
940938
public void Boolキャストオペレーターで破棄されたGameObjectを検証する例()
941939
{
942-
var cube = new GameObject("Cube");
943-
GameObject.DestroyImmediate(cube);
940+
var go = new GameObject();
941+
GameObject.DestroyImmediate(go);
942+
943+
Assert.That((bool)go, Is.False); // Note: GameObjectが破棄されているとき、boolキャストオペレーターはfalseを返す
944+
}
945+
946+
[Test]
947+
[UnityPlatform(RuntimePlatform.OSXEditor, RuntimePlatform.WindowsEditor, RuntimePlatform.LinuxEditor)]
948+
public void IsNullで破棄されたGameObjectを検証する例_EditorではNotNull()
949+
{
950+
var go = new GameObject();
951+
GameObject.DestroyImmediate(go);
952+
953+
Assume.That(go, Is.Not.Null); // Note: Editorでは破棄されていても参照はnullではない
954+
}
955+
956+
[Test]
957+
[UnityPlatform(exclude =
958+
new[] { RuntimePlatform.OSXEditor, RuntimePlatform.WindowsEditor, RuntimePlatform.LinuxEditor })]
959+
public void IsNullで破棄されたGameObjectを検証する例_PlayerではNull()
960+
{
961+
var go = new GameObject();
962+
GameObject.DestroyImmediate(go);
944963

945-
Assume.That(cube, Is.Not.Null); // Note: 破棄されていても参照はnullではない
946-
Assert.That((bool)cube, Is.False); // Note: GameObjectが破棄されているとき、boolキャストオペレーターはfalseを返す
964+
Assume.That(go, Is.Null); // Note: Playerでは破棄されたObjectの参照はnull
947965
}
948966
}
949967

‎Assets/APIExamples/Tests/Runtime/NUnit/CustomConstraintExample.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public void CustomConstraint_Constraintの実装だけで可能な書きかた()
3636

3737
[Test]
3838
[UnityPlatform(RuntimePlatform.OSXEditor, RuntimePlatform.WindowsEditor, RuntimePlatform.LinuxEditor)]
39-
// Note: プレイヤーではnull判定されるため除外
39+
// Note: Playerでは破棄されたObjectの参照はnull判定されるため除外
4040
public void CustomConstraint_Extensionsの実装も行なうと可能な書きかた()
4141
{
4242
var actual = CreateDestroyedObject();

0 commit comments

Comments
 (0)
Please sign in to comment.