Skip to content

Commit 70ae010

Browse files
committed
Added tests
1 parent d6e149b commit 70ae010

21 files changed

+676
-0
lines changed

Tests.meta

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Tests/Editor.meta

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
using NUnit.Framework;
2+
using TNRD.Events;
3+
4+
public class SafeEventOneParameterTests
5+
{
6+
private void Dummy(int arg)
7+
{
8+
}
9+
10+
[Test]
11+
public void Add_Subscription()
12+
{
13+
SafeEvent<int> sf;
14+
15+
Assert.AreEqual(0, sf.Count);
16+
sf.Subscribe(Dummy);
17+
Assert.AreEqual(1, sf.Count);
18+
}
19+
20+
[Test]
21+
public void Add_Subscription_Alt()
22+
{
23+
SafeEvent<int> sf;
24+
25+
Assert.AreEqual(0, sf.Count);
26+
sf += Dummy;
27+
Assert.AreEqual(1, sf.Count);
28+
}
29+
30+
[Test]
31+
public void Remove_Subscription()
32+
{
33+
SafeEvent<int> sf;
34+
sf.Subscribe(Dummy);
35+
36+
Assert.AreEqual(1, sf.Count);
37+
sf.Unsubscribe(Dummy);
38+
Assert.AreEqual(0, sf.Count);
39+
}
40+
41+
[Test]
42+
public void Remove_Subscription_Alt()
43+
{
44+
SafeEvent<int> sf;
45+
sf += Dummy;
46+
47+
Assert.AreEqual(1, sf.Count);
48+
sf -= Dummy;
49+
Assert.AreEqual(0, sf.Count);
50+
}
51+
52+
[Test]
53+
public void Clear_Subscriptions()
54+
{
55+
SafeEvent<int> sf;
56+
sf.Subscribe(Dummy);
57+
58+
Assert.AreEqual(1, sf.Count);
59+
sf.RemoveAllSubscriptions();
60+
Assert.AreEqual(0, sf.Count);
61+
}
62+
63+
[Test]
64+
public void Double_Subscription_Exception()
65+
{
66+
SafeEvent<int> sf;
67+
sf.Subscribe(Dummy);
68+
69+
DuplicateSubscriptionException ex = null;
70+
71+
try
72+
{
73+
sf.Subscribe(Dummy);
74+
}
75+
catch (DuplicateSubscriptionException exception)
76+
{
77+
ex = exception;
78+
}
79+
80+
Assert.IsNotNull(ex);
81+
}
82+
83+
[Test]
84+
public void Normal_Invocation()
85+
{
86+
SafeEvent<int> sf;
87+
88+
int result = 0;
89+
90+
sf.Subscribe(x => { result = x; });
91+
Assert.AreEqual(0, result);
92+
sf.Invoke(1);
93+
Assert.AreEqual(1, result);
94+
}
95+
}

Tests/Editor/SafeEventOneParameterTests.cs.meta

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Tests/Editor/SafeEventTests.cs

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
using NUnit.Framework;
2+
using TNRD.Events;
3+
4+
public class SafeEventTests
5+
{
6+
private void Dummy()
7+
{
8+
}
9+
10+
[Test]
11+
public void Add_Subscription()
12+
{
13+
SafeEvent sf;
14+
15+
Assert.AreEqual(0, sf.Count);
16+
sf.Subscribe(Dummy);
17+
Assert.AreEqual(1, sf.Count);
18+
}
19+
20+
[Test]
21+
public void Add_Subscription_Alt()
22+
{
23+
SafeEvent sf;
24+
25+
Assert.AreEqual(0, sf.Count);
26+
sf += Dummy;
27+
Assert.AreEqual(1, sf.Count);
28+
}
29+
30+
[Test]
31+
public void Remove_Subscription()
32+
{
33+
SafeEvent sf;
34+
sf.Subscribe(Dummy);
35+
36+
Assert.AreEqual(1, sf.Count);
37+
sf.Unsubscribe(Dummy);
38+
Assert.AreEqual(0, sf.Count);
39+
}
40+
41+
[Test]
42+
public void Remove_Subscription_Alt()
43+
{
44+
SafeEvent sf;
45+
sf += Dummy;
46+
47+
Assert.AreEqual(1, sf.Count);
48+
sf -= Dummy;
49+
Assert.AreEqual(0, sf.Count);
50+
}
51+
52+
[Test]
53+
public void Clear_Subscriptions()
54+
{
55+
SafeEvent sf;
56+
sf.Subscribe(Dummy);
57+
58+
Assert.AreEqual(1, sf.Count);
59+
sf.RemoveAllSubscriptions();
60+
Assert.AreEqual(0, sf.Count);
61+
}
62+
63+
[Test]
64+
public void Double_Subscription_Exception()
65+
{
66+
SafeEvent sf;
67+
sf.Subscribe(Dummy);
68+
69+
DuplicateSubscriptionException ex = null;
70+
71+
try
72+
{
73+
sf.Subscribe(Dummy);
74+
}
75+
catch (DuplicateSubscriptionException exception)
76+
{
77+
ex = exception;
78+
}
79+
80+
Assert.IsNotNull(ex);
81+
}
82+
83+
[Test]
84+
public void Normal_Invocation()
85+
{
86+
SafeEvent sf;
87+
88+
bool invoked = false;
89+
90+
sf.Subscribe(() => { invoked = true; });
91+
sf.Invoke();
92+
93+
Assert.IsTrue(invoked);
94+
}
95+
}

Tests/Editor/SafeEventTests.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
using NUnit.Framework;
2+
using TNRD.Events;
3+
4+
public class SafeEventTwoParametersTests
5+
{
6+
private void Dummy(int arg1, int arg2)
7+
{
8+
}
9+
10+
[Test]
11+
public void Add_Subscription()
12+
{
13+
SafeEvent<int, int> sf;
14+
15+
Assert.AreEqual(0, sf.Count);
16+
sf.Subscribe(Dummy);
17+
Assert.AreEqual(1, sf.Count);
18+
}
19+
20+
[Test]
21+
public void Add_Subscription_Alt()
22+
{
23+
SafeEvent<int, int> sf;
24+
25+
Assert.AreEqual(0, sf.Count);
26+
sf += Dummy;
27+
Assert.AreEqual(1, sf.Count);
28+
}
29+
30+
[Test]
31+
public void Remove_Subscription()
32+
{
33+
SafeEvent<int, int> sf;
34+
sf.Subscribe(Dummy);
35+
36+
Assert.AreEqual(1, sf.Count);
37+
sf.Unsubscribe(Dummy);
38+
Assert.AreEqual(0, sf.Count);
39+
}
40+
41+
[Test]
42+
public void Remove_Subscription_Alt()
43+
{
44+
SafeEvent<int, int> sf;
45+
sf += Dummy;
46+
47+
Assert.AreEqual(1, sf.Count);
48+
sf -= Dummy;
49+
Assert.AreEqual(0, sf.Count);
50+
}
51+
52+
[Test]
53+
public void Clear_Subscriptions()
54+
{
55+
SafeEvent<int, int> sf;
56+
sf.Subscribe(Dummy);
57+
58+
Assert.AreEqual(1, sf.Count);
59+
sf.RemoveAllSubscriptions();
60+
Assert.AreEqual(0, sf.Count);
61+
}
62+
63+
[Test]
64+
public void Double_Subscription_Exception()
65+
{
66+
SafeEvent<int, int> sf;
67+
sf.Subscribe(Dummy);
68+
69+
DuplicateSubscriptionException ex = null;
70+
71+
try
72+
{
73+
sf.Subscribe(Dummy);
74+
}
75+
catch (DuplicateSubscriptionException exception)
76+
{
77+
ex = exception;
78+
}
79+
80+
Assert.IsNotNull(ex);
81+
}
82+
83+
[Test]
84+
public void Normal_Invocation()
85+
{
86+
SafeEvent<int, int> sf;
87+
88+
int arg1 = 0, arg2 = 0;
89+
90+
sf.Subscribe((x, y) =>
91+
{
92+
arg1 = x;
93+
arg2 = y;
94+
});
95+
96+
Assert.AreEqual(0, arg1);
97+
Assert.AreEqual(0, arg2);
98+
99+
sf.Invoke(1, 2);
100+
101+
Assert.AreEqual(1, arg1);
102+
Assert.AreEqual(2, arg2);
103+
}
104+
}

Tests/Editor/SafeEventTwoParametersTests.cs.meta

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"name": "TNRD.SafeEvent.Editor.Tests",
3+
"references": [
4+
"TNRD.SafeEvent",
5+
"UnityEngine.TestRunner",
6+
"UnityEditor.TestRunner"
7+
],
8+
"includePlatforms": [
9+
"Editor"
10+
],
11+
"excludePlatforms": [],
12+
"allowUnsafeCode": false,
13+
"overrideReferences": true,
14+
"precompiledReferences": [
15+
"nunit.framework.dll"
16+
],
17+
"autoReferenced": false,
18+
"defineConstraints": [
19+
"UNITY_INCLUDE_TESTS"
20+
],
21+
"versionDefines": [],
22+
"noEngineReferences": false
23+
}

Tests/Editor/TNRD.SafeEvent.Editor.Tests.asmdef.meta

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)