public void speed_capture_messages_are_translated_into_set_driver_speed_messages(SessionType session)
{
In(session).Assert(translator =>
{
translator.GetDriver(1).Name = "J. BUTTON";
translator.GetDriver(2).Name = "M. SCHUMACHER";
Assert.Null(translator.Translate(new SpeedCaptureMessage(SpeedCaptureLocation.S3, new KeyValuePair<string, int>[0])));
var expected = new CompositeMessage(
new SetDriverSpeedMessage(1, SpeedCaptureLocation.S3, 1),
new SetDriverSpeedMessage(2, SpeedCaptureLocation.S3, 2)
);
var translated = translator.Translate(new SpeedCaptureMessage(SpeedCaptureLocation.S3, new KeyValuePair<string, int>[]
{
new KeyValuePair<string, int>("BUT", 1),
new KeyValuePair<string, int>("MSC", 2)
}));
var actual = Assert.IsType<CompositeMessage>(translated);
Assert.Equal(expected.Messages.Count, actual.Messages.Count);
for(int i = 0; i < expected.Messages.Count; ++i)
{
Assert.MessagesAreEqual(expected.Messages[i], actual.Messages[i]);
}
});
}