mirror of
https://github.com/MaSzyna-EU07/StarterNG.git
synced 2026-11-12 00:58:12 +01:00
feat(blackbox): the cab panel as fits the vehicle, every switch the driver worked in the events
- The rest of the cab record is read when written: what drives the vehicle, the doors' permits and departure signal, the brakes of the whole train, a diesel's oil and temperatures, the cruise control and the rest. - Cab panel: the traction as fits what drives the vehicle (voltage and current of an electric one; revolutions, oil pressure and temperatures of a diesel; clutch or torque converter of a mechanical or hydraulic one; nothing for a draisine), the equalizing reservoir, the main reservoir pipe and the most braked cylinder of the train, the brakes' setting and mode, a group of the doors, the pumps of a diesel where an electric vehicle has its pantographs, the hand brake, the releaser, the horn's tone, the radio's channel, the integrated handle of a unit. - Events: every switch on and off, doors opened and closed, the departure signal, the hand brake, the brakes' setting, the radio channel, the cruise control's speed; moving with the doors open and an overheating engine as faults. - A vehicle with no lamps at an end (a draisine) is not judged on its lights, and one which never had a voltage shows none.
This commit is contained in:
@@ -108,6 +108,34 @@ public class HeadCodeTests
|
||||
Assert.True(fault.TailWrong);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void What_drives_the_train_and_the_rest_are_read_when_written()
|
||||
{
|
||||
var f = new BlackBoxFile().Info();
|
||||
f.Cab(0, 1, 1000, 40, movement: 1, equippedHead: 0x15, equippedTail: 0x22, engine: 4, oilTemperature: 71.5f);
|
||||
f.Cab(0.5, 1, 1000, 40, movement: 1, equippedHead: 0x15, equippedTail: 0x22);
|
||||
var cab = BlackBoxReader.Read(f.End(1).Stream()).Cab;
|
||||
var extra = Assert.NotNull(cab[0].Extra);
|
||||
Assert.Equal(EngineKind.DieselElectric, extra.Engine);
|
||||
Assert.Equal(3, extra.RadioChannel);
|
||||
Assert.Equal(71.5f, extra.OilTemperature);
|
||||
Assert.Equal(1.0f, extra.Clutch);
|
||||
Assert.Equal(2.5f, extra.ConsistBrakeCylinder);
|
||||
// an older sample has none
|
||||
Assert.Null(cab[1].Extra);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void A_vehicle_with_no_lamps_is_not_judged()
|
||||
{
|
||||
var recording = DriveWith(0, 0, 0, 0);
|
||||
Assert.Null(HeadCodes.HeadRight(recording.Cab[0]));
|
||||
Assert.Null(HeadCodes.TailRight(recording.Cab[0]));
|
||||
var summary = recording.Summarize();
|
||||
Assert.Equal(0, summary.LightsJudgedSeconds);
|
||||
Assert.Empty(summary.LightsFaults);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void A_vehicle_with_all_the_lamps_is_to_light_all_three_for_Pc1()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user