Merge phase/40-clock-tempo.
This commit is contained in:
@@ -83,11 +83,11 @@ public class GameSocketTests(AppHostFixture fixture)
|
||||
Assert.True(first.Running);
|
||||
Assert.Equal(1, first.SpeedIndex);
|
||||
|
||||
// 5 game minutes per real second at ×1, so one second of ticks has to move the calendar.
|
||||
// 1 game minute per real second at ×1, so one second of ticks has to move the calendar.
|
||||
var later = await ReceiveClockAfterAsync(socket, TimeSpan.FromSeconds(1));
|
||||
var elapsed = ToDate(later) - ToDate(first);
|
||||
|
||||
Assert.InRange(elapsed.TotalMinutes, 3, 8);
|
||||
Assert.InRange(elapsed.TotalMinutes, 0.5, 2);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
@@ -208,7 +208,7 @@ public class GameSocketTests(AppHostFixture fixture)
|
||||
// presence, not the snapshot" means. Do not wait for the freshly hired teacher in
|
||||
// particular: whether somebody hired mid-day comes in today depends on their day plan,
|
||||
// and the frozen moment drifts with however long this test's own HTTP calls took (the
|
||||
// school runs at five game minutes per real second until it is paused). Waiting for that
|
||||
// school runs at one game minute per real second until it is paused). Waiting for that
|
||||
// one person made this test fail under load.
|
||||
await SendAsync(socket, buffer =>
|
||||
ProtocolCodec.WriteSetRunning(buffer, new ClientSetRunningMessage(Running: true)));
|
||||
@@ -281,8 +281,8 @@ public class GameSocketTests(AppHostFixture fixture)
|
||||
var later = await ReceiveClockAfterAsync(socket, TimeSpan.FromSeconds(1));
|
||||
var elapsed = ToDate(later) - ToDate(fast);
|
||||
|
||||
// ×4 means 20 game minutes per real second.
|
||||
Assert.InRange(elapsed.TotalMinutes, 12, 30);
|
||||
// ×10 means 10 game minutes per real second.
|
||||
Assert.InRange(elapsed.TotalMinutes, 6, 14);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
||||
@@ -25,7 +25,7 @@ public class SchoolApiTests(AppHostFixture fixture)
|
||||
// Without the "Z" the browser would read the start date in its own time zone and the
|
||||
// creation form would offer the wrong hour.
|
||||
Assert.Equal(DateTimeKind.Utc, state.DefaultStartDate.Kind);
|
||||
Assert.Equal(5d, state.GameMinutesPerRealSecond);
|
||||
Assert.Equal(1d, state.GameMinutesPerRealSecond);
|
||||
Assert.Equal(5, state.SchoolWeekDays);
|
||||
Assert.Empty(state.Schools);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user