-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCoreAiChatPanelResolveTimeoutMessageEditModeTests.cs
More file actions
45 lines (41 loc) · 1.46 KB
/
CoreAiChatPanelResolveTimeoutMessageEditModeTests.cs
File metadata and controls
45 lines (41 loc) · 1.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
using CoreAI.Chat;
using NUnit.Framework;
using UnityEngine;
namespace CoreAI.Tests.EditMode
{
/// <summary>EditMode coverage for <see cref="CoreAiChatPanel.ResolveTimeoutMessage"/> hook.</summary>
public sealed class CoreAiChatPanelResolveTimeoutMessageEditModeTests
{
private class PanelProbe : CoreAiChatPanel
{
public string Call(bool stopByUser)
{
return ResolveTimeoutMessage(stopByUser);
}
}
private sealed class PanelSuppressTimeout : PanelProbe
{
protected override string ResolveTimeoutMessage(bool stopRequestedByUser)
{
return stopRequestedByUser ? base.ResolveTimeoutMessage(true) : null;
}
}
[Test]
public void ResolveTimeoutMessage_Default_TimeoutBranch_UsesConfigOrFallback()
{
GameObject go = new();
PanelProbe panel = go.AddComponent<PanelProbe>();
Assert.AreEqual("Timeout.", panel.Call(false));
Object.DestroyImmediate(go);
}
[Test]
public void ResolveTimeoutMessage_OverrideCanReturnNullForTimeoutBranch()
{
GameObject go = new();
PanelSuppressTimeout panel = go.AddComponent<PanelSuppressTimeout>();
Assert.IsNull(panel.Call(false));
Assert.IsFalse(string.IsNullOrEmpty(panel.Call(true)));
Object.DestroyImmediate(go);
}
}
}