Commit Graph

80 Commits

Author SHA1 Message Date
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
a8e1c5ba87 Fix remaining cases of incorrect GameplayState construction in tests
Manual attempts to initialise replaced by a new `TestGameplayState`
helper for ease of use.
2022-05-28 15:23:29 +02:00
63998ad9f1 Add test coverage of SpectatorPlayer failing to seek on inopportune frame arrival time 2022-03-19 15:06:22 +09:00
c94e7e2abe Add ability to simulate network failures to TestSpectatorClient 2022-02-24 02:23:48 +09:00
14c8ce50a0 Prefix all test send methods in TestSpectatorClient with Send 2022-02-24 02:23:48 +09:00
6a08fd57ef Rename "client" fields in tests to specify whether spectator or multiplayer 2022-02-16 09:52:18 +09:00
539cbe62c6 Fix incorrect usages of user lookup cache in tests 2022-02-15 21:23:24 +09:00
ffc4c64f7e Unify namings across the board 2022-02-09 12:10:07 +09:00
4966c4e974 Remove redundant parameter 2022-02-09 11:51:47 +09:00
886d1d2df6 Refactorings 2022-02-08 21:29:43 +09:00
4c76027178 Rename completed state to passed 2022-02-08 20:29:49 +09:00
0d99017178 Add state tests 2022-02-08 20:27:08 +09:00
589f5e7a31 Update test which has now been resolved 2022-02-02 23:09:38 +09:00
6d3bc005ea Merge branch 'master' into spectator-state-rework 2022-02-02 18:57:04 +09:00
41007169f7 Give SpectatorState a user state 2022-02-01 21:51:05 +09:00
4727aeda01 Give last bundled replay frame the frame header 2022-01-31 18:53:47 +09:00
57f793aff0 Rename dictionary and make private for added safety 2022-01-31 15:12:08 +09:00
3037a3a769 Purge final spectator frames before ending play 2022-01-28 22:26:05 +09:00
5288eedd31 Update all usages of RulesetID and Ruleset.ID to use Ruleset.OnlineID 2022-01-27 15:38:03 +09:00
31a3161189 Make tests compile again 2022-01-12 17:00:16 +09:00
213d89b479 Update null fallback cases involving OnlineID 2022-01-12 16:39:36 +09:00
00177a3ae1 Update usages to new naming 2022-01-06 22:54:43 +09:00
73b40e6833 Replace usage of .Result with .WaitSafelyForResult 2022-01-04 11:51:41 +09:00
6a098a8634 Rename BeatmapInfo.OnlineBeatmapID to OnlineID to match interface 2021-11-12 17:46:24 +09:00
0ecf5f201c Rename User to APIUser and move to correct namespace 2021-11-07 11:26:01 +09:00
11b9ba86cb Fix TestSceneSpectator reusing cached spectator client 2021-08-03 18:28:08 +09:00
8e04d73b67 Merge branch 'rework-multiplayer-test-scenes' into spectator-start-at-end-2 2021-06-29 17:06:57 +09:00
7aefbe3da1 Move UserLookupCache inside dependencies 2021-06-25 17:37:02 +09:00
58d71e4aea Remove local "next frame" storage 2021-06-10 22:41:38 +09:00
3bc81fbb06 Fix spectator tests 2021-06-03 17:27:24 +09:00
c787c008a5 Fix test potentially not waiting for player to load 2021-05-31 20:21:26 +09:00
9d07749959 Improve implementation of TestSpectatorClient
There was a lot of weirdness here, such as storing the playing users,
clearing the playing users from test scenes (!!), and storing the users
being wathed.
This was all a thing because the previous implementation overrode the
base method implementations, which is no longer a thing.
2021-05-20 17:41:46 +09:00
6beeb7f7c4 Rename SpectatorStreamingClient -> SpectatorClient 2021-05-20 15:55:07 +09:00
21fc0ba43b Combine test spectator streaming client implementations 2021-05-12 13:05:02 +09:00
120fb8974d Combine more instances of test player IDs 2021-04-26 17:22:16 +09:00
46d2181d42 Remove now unnecessary (duplicating) test 2021-04-16 18:21:56 +09:00
377e5ce6b3 Fix test incorrect sending state too often 2021-04-16 18:21:35 +09:00
ca74f413cd Change to explicit method instead 2021-04-16 17:31:02 +09:00
5652490d61 Fix OnUserBeganPlaying not being invoked if already watching 2021-04-16 14:11:55 +09:00
359fae895f Rename property 2021-04-12 18:50:25 +09:00
e19e8ff2a3 Rewrite FramedReplayInputHandler for robustness
This commit changes the semantics of `CurrentFrame` and `NextFrame` of the class.
The ordering of `NextFrame.Time` and `CurrentFrame.Time` was dependent on the current direction.
Now, it should always satisfy `CurrentFrame.Time <= CurrentTime <= NextFrame.Time` except at the start/end.
This change, however, doesn't break existing deriving classes if the template code pattern usage of interpolation is used.
The deriving class code can be simplified due to the elimination of nullable types. I didn't include those changes in this commit.

I removed `StreamingFramedReplayInputHandlerTest` for now, as it is almost-duplicate of `FramedReplayInputHandlerTest`. I'll include more tests in later commits.

This commit fixes #6150.
2021-04-12 16:18:11 +09:00
c3c7c18549 Fix tests 2021-04-01 23:48:26 +09:00
9e95441aa6 Rename Spectator -> SoloSpectator 2021-04-01 22:08:52 +09:00
9ad38ab20e Move HubClientConnector retrieval to IAPIProvider 2021-02-15 16:43:56 +09:00
d3c1b47592 Replace nullable API with null connector instead 2021-02-11 12:34:39 +03:00
a0ead38496 Prevent test spectator clients from attempting hub connections 2021-02-09 08:02:51 +03:00
f04d6d5e5e Update hub clients with changes to connecotr 2021-02-09 08:02:32 +03:00
f76f92515e Clean up spectator streaming client with new hub connector 2021-02-09 02:15:56 +03:00
eb795a2127 Move all endpoint information to a configuration class 2020-12-24 17:58:38 +09:00
fb795f6bfd Add initial hook-up to spectator backend 2020-12-16 16:20:29 +09:00