Skip to content

Commit 2fb8e5d

Browse files
committed
Use fixtures and SetUp/TearDown for some tests.
1 parent 3930098 commit 2fb8e5d

3 files changed

Lines changed: 82 additions & 124 deletions

File tree

Assets/Tests/NavMeshSurfaceModifierTests.cs

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -4,107 +4,107 @@
44
using NUnit.Framework;
55
using System.Collections;
66

7+
[TestFixture]
78
public class NavMeshSurfaceModifierTests
89
{
10+
NavMeshSurface surface;
11+
NavMeshModifier modifier;
12+
13+
[SetUp]
14+
public void CreatePlaneWithModifier()
15+
{
16+
var plane = GameObject.CreatePrimitive(PrimitiveType.Plane);
17+
surface = plane.AddComponent<NavMeshSurface>();
18+
modifier = plane.AddComponent<NavMeshModifier>();
19+
}
20+
21+
[TearDown]
22+
public void DestroyPlaneWithModifier()
23+
{
24+
GameObject.DestroyImmediate(modifier.gameObject);
25+
}
26+
927
[Test]
1028
public void ModifierIgnoreAffectsSelf()
1129
{
12-
var go = GameObject.CreatePrimitive(PrimitiveType.Plane);
13-
var surface = go.AddComponent<NavMeshSurface>();
14-
var modifier = go.AddComponent<NavMeshModifier>();
1530
modifier.ignoreFromBuild = true;
1631

1732
surface.BuildNavMesh();
1833

1934
Assert.IsFalse(NavMeshSurfaceTests.HasNavMeshAtOrigin());
20-
GameObject.DestroyImmediate(go);
2135
}
2236

2337
[Test]
2438
public void ModifierIgnoreAffectsChild()
2539
{
26-
var go = new GameObject();
27-
var surface = go.AddComponent<NavMeshSurface>();
28-
var modifier = go.AddComponent<NavMeshModifier>();
2940
modifier.ignoreFromBuild = true;
41+
modifier.GetComponent<MeshRenderer>().enabled = false;
3042

31-
var plane = GameObject.CreatePrimitive(PrimitiveType.Plane);
32-
plane.transform.SetParent(modifier.transform);
43+
var childPlane = GameObject.CreatePrimitive(PrimitiveType.Plane);
44+
childPlane.transform.SetParent(modifier.transform);
3345

3446
surface.BuildNavMesh();
3547

3648
Assert.IsFalse(NavMeshSurfaceTests.HasNavMeshAtOrigin());
37-
GameObject.DestroyImmediate(go);
38-
GameObject.DestroyImmediate(plane);
49+
GameObject.DestroyImmediate(childPlane);
3950
}
4051

4152
[Test]
4253
public void ModifierIgnoreDoesNotAffectSibling()
4354
{
44-
var plane = GameObject.CreatePrimitive(PrimitiveType.Plane);
45-
var go = new GameObject();
46-
var surface = go.AddComponent<NavMeshSurface>();
47-
var modifier = go.AddComponent<NavMeshModifier>();
4855
modifier.ignoreFromBuild = true;
56+
modifier.GetComponent<MeshRenderer>().enabled = false;
57+
58+
var siblingPlane = GameObject.CreatePrimitive(PrimitiveType.Plane);
4959

5060
surface.BuildNavMesh();
5161

5262
Assert.IsTrue(NavMeshSurfaceTests.HasNavMeshAtOrigin());
53-
GameObject.DestroyImmediate(go);
54-
GameObject.DestroyImmediate(plane);
63+
GameObject.DestroyImmediate(siblingPlane);
5564
}
5665

5766
[Test]
5867
public void ModifierOverrideAreaAffectsSelf()
5968
{
60-
var go = GameObject.CreatePrimitive(PrimitiveType.Plane);
61-
var surface = go.AddComponent<NavMeshSurface>();
62-
var modifier = go.AddComponent<NavMeshModifier>();
6369
modifier.area = 4;
6470
modifier.overrideArea = true;
6571

6672
surface.BuildNavMesh();
6773

6874
var expectedAreaMask = 1 << 4;
6975
Assert.IsTrue(NavMeshSurfaceTests.HasNavMeshAtOrigin(expectedAreaMask));
70-
GameObject.DestroyImmediate(go);
7176
}
7277

7378
[Test]
7479
public void ModifierOverrideAreaAffectsChild()
7580
{
76-
var go = new GameObject();
77-
var surface = go.AddComponent<NavMeshSurface>();
78-
var modifier = go.AddComponent<NavMeshModifier>();
7981
modifier.area = 4;
8082
modifier.overrideArea = true;
83+
modifier.GetComponent<MeshRenderer>().enabled = false;
8184

82-
var plane = GameObject.CreatePrimitive(PrimitiveType.Plane);
83-
plane.transform.SetParent(modifier.transform);
85+
var childPlane = GameObject.CreatePrimitive(PrimitiveType.Plane);
86+
childPlane.transform.SetParent(modifier.transform);
8487

8588
surface.BuildNavMesh();
8689

8790
var expectedAreaMask = 1 << 4;
8891
Assert.IsTrue(NavMeshSurfaceTests.HasNavMeshAtOrigin(expectedAreaMask));
89-
GameObject.DestroyImmediate(go);
90-
GameObject.DestroyImmediate(plane);
92+
GameObject.DestroyImmediate(childPlane);
9193
}
9294

9395
[Test]
9496
public void ModifierOverrideAreaDoesNotAffectSibling()
9597
{
96-
var plane = GameObject.CreatePrimitive(PrimitiveType.Plane);
97-
var go = new GameObject();
98-
var surface = go.AddComponent<NavMeshSurface>();
99-
var modifier = go.AddComponent<NavMeshModifier>();
10098
modifier.area = 4;
10199
modifier.overrideArea = true;
100+
modifier.GetComponent<MeshRenderer>().enabled = false;
101+
102+
var siblingPlane = GameObject.CreatePrimitive(PrimitiveType.Plane);
102103

103104
surface.BuildNavMesh();
104105

105106
var expectedAreaMask = 1;
106107
Assert.IsTrue(NavMeshSurfaceTests.HasNavMeshAtOrigin(expectedAreaMask));
107-
GameObject.DestroyImmediate(go);
108-
GameObject.DestroyImmediate(plane);
108+
GameObject.DestroyImmediate(siblingPlane);
109109
}
110110
}

Assets/Tests/NavMeshSurfaceModifierVolumeTests.cs

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,31 @@
44
using NUnit.Framework;
55
using System.Collections;
66

7+
[TestFixture]
78
public class NavMeshSurfaceModifierVolumeTests
89
{
10+
NavMeshSurface surface;
11+
NavMeshModifierVolume modifier;
12+
13+
[SetUp]
14+
public void CreatePlaneAndModifierVolume()
15+
{
16+
var go = GameObject.CreatePrimitive(PrimitiveType.Plane);
17+
surface = go.AddComponent<NavMeshSurface>();
18+
19+
modifier = new GameObject().AddComponent<NavMeshModifierVolume>();
20+
}
21+
22+
[TearDown]
23+
public void DestroyPlaneAndModifierVolume()
24+
{
25+
GameObject.DestroyImmediate(surface.gameObject);
26+
GameObject.DestroyImmediate(modifier.gameObject);
27+
}
28+
929
[Test]
1030
public void AreaAffectsNavMeshOverlapping()
1131
{
12-
var go = GameObject.CreatePrimitive(PrimitiveType.Plane);
13-
var surface = go.AddComponent<NavMeshSurface>();
14-
var modifier = go.AddComponent<NavMeshModifierVolume>();
1532
modifier.center = Vector3.zero;
1633
modifier.size = Vector3.one;
1734
modifier.area = 4;
@@ -20,16 +37,11 @@ public void AreaAffectsNavMeshOverlapping()
2037

2138
var expectedAreaMask = 1 << 4;
2239
Assert.IsTrue(NavMeshSurfaceTests.HasNavMeshAtOrigin(expectedAreaMask));
23-
24-
GameObject.DestroyImmediate(go);
2540
}
2641

2742
[Test]
2843
public void AreaDoesNotAffectsNavMeshWhenNotOverlapping()
2944
{
30-
var go = GameObject.CreatePrimitive(PrimitiveType.Plane);
31-
var surface = go.AddComponent<NavMeshSurface>();
32-
var modifier = go.AddComponent<NavMeshModifierVolume>();
3345
modifier.center = 1.1f * Vector3.right;
3446
modifier.size = Vector3.one;
3547
modifier.area = 4;
@@ -38,30 +50,20 @@ public void AreaDoesNotAffectsNavMeshWhenNotOverlapping()
3850

3951
var expectedAreaMask = 1;
4052
Assert.IsTrue(NavMeshSurfaceTests.HasNavMeshAtOrigin(expectedAreaMask));
41-
42-
GameObject.DestroyImmediate(go);
4353
}
4454

4555
[Test]
4656
public void BuildUsesOnlyIncludedModifierVolume()
4757
{
48-
var go = GameObject.CreatePrimitive(PrimitiveType.Plane);
49-
var surface = go.AddComponent<NavMeshSurface>();
50-
51-
var modifierGO = new GameObject();
52-
var modifier = modifierGO.AddComponent<NavMeshModifierVolume>();
5358
modifier.center = Vector3.zero;
5459
modifier.size = Vector3.one;
5560
modifier.area = 4;
56-
modifierGO.layer = 7;
61+
modifier.gameObject.layer = 7;
5762

5863
surface.layerMask = ~(1 << 7);
5964
surface.BuildNavMesh();
6065

6166
var expectedAreaMask = 1;
6267
Assert.IsTrue(NavMeshSurfaceTests.HasNavMeshAtOrigin(expectedAreaMask));
63-
64-
GameObject.DestroyImmediate(go);
65-
GameObject.DestroyImmediate(modifierGO);
6668
}
6769
}

0 commit comments

Comments
 (0)