public void sector_column_values_are_translated_into_set_status_messages_if_the_status_has_changed(GridColumn sector, SessionType session)
{
In(session).Assert(translator =>
{
SetGridColumnValueMessage message;
LiveDriver driver = translator.GetDriver(1);
// Out.
message = new SetGridColumnValueMessage(1, sector, GridColumnColour.White, "OUT");
Assert.MessagesAreEqual(
new SetDriverStatusMessage(1, DriverStatus.Out),
translator.Translate(message)
);
Assert.Equal(DriverStatus.Out, driver.Status);
Assert.Null(translator.Translate(message));
// Stopped.
message = new SetGridColumnValueMessage(1, sector, GridColumnColour.White, "STOP");
Assert.MessagesAreEqual(
new SetDriverStatusMessage(1, DriverStatus.Stopped),
translator.Translate(message)
);
Assert.Equal(DriverStatus.Stopped, driver.Status);
Assert.Null(translator.Translate(message));
});
}