feat(mosstank): add VTank-style automation PoC
This commit is contained in:
parent
f6fe0f2a4f
commit
4e6e9bc9d9
212 changed files with 49462 additions and 416 deletions
|
|
@ -1750,6 +1750,45 @@ public sealed class LiveSessionControllerTests
|
|||
Assert.True(host.CommandBuses[^1].Active);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void NextLoginAutomaticallyEntersTheRememberedRosterCharacterOnce()
|
||||
{
|
||||
var calls = new List<string>();
|
||||
var operations = new TestOperations(calls)
|
||||
{
|
||||
Characters = new CharacterList.Parsed(
|
||||
0u,
|
||||
[
|
||||
new CharacterList.Character(0x50000010u, "Alpha", 0u),
|
||||
new CharacterList.Character(0x50000020u, "Beta", 0u),
|
||||
],
|
||||
[],
|
||||
11,
|
||||
"Canonical",
|
||||
true,
|
||||
true),
|
||||
};
|
||||
var host = new TestHost(calls);
|
||||
var controller = new LiveSessionController(operations);
|
||||
Assert.Equal(
|
||||
LiveSessionStartStatus.Connected,
|
||||
controller.Start(LiveOptions(), host).Status);
|
||||
Assert.Equal(0x50000010u, host.Selections[^1].CharacterId);
|
||||
|
||||
Assert.True(controller.TrySetNextLogin(0x50000020u));
|
||||
Assert.Equal(0x50000020u, controller.NextLoginCharacterId);
|
||||
RuntimeCommandResult result =
|
||||
controller.CompleteCharacterLogOff(controller.Generation);
|
||||
|
||||
Assert.True(result.Accepted);
|
||||
Assert.True(controller.IsInWorld);
|
||||
Assert.Equal(0u, controller.NextLoginCharacterId);
|
||||
Assert.Equal(2, operations.EnterWorldCount);
|
||||
Assert.Equal(0x50000020u, host.Selections[^1].CharacterId);
|
||||
Assert.Contains("enter:1", calls);
|
||||
Assert.True(controller.ClearNextLogin());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void CompleteCharacterLogOff_RefusalsAndFailureDegradeToStop()
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue