namespace Nonemm.Session.Tests; public class QtcMessagesTests { [Fact] public void ALineIsTheTimeTheCallAndTheSerialNumber() { Assert.Equal( "1234 DL1ABC 123", QtcMessages.Line("1234", "DL1ABC", "123", QtcMessages.DefaultFieldSpacing)); } /// N1MM writes the spacing with `S` for a space, so an operator who wants /// two writes `SS`. [Fact] public void TheSpacingIsWrittenWithSForASpace() { Assert.Equal("1234 DL1ABC 123", QtcMessages.Line("1234", "DL1ABC", "123", "SS")); } [Fact] public void AnythingElseInTheSpacingGoesOutAsItIs() { Assert.Equal("1234/DL1ABC/123", QtcMessages.Line("1234", "DL1ABC", "123", "/")); } /// N1MM lets the TU message name the series it is closing. [Fact] public void TheTuMessageCanCarryTheHeader() { Assert.Equal("TU QTC 3/10 73", QtcMessages.Tu("TU {QTC} 73", "QTC 3/10")); } [Fact] public void ATuMessageWithoutTheHeaderIsLeftAlone() { Assert.Equal("TU 73", QtcMessages.Tu("TU 73", "QTC 3/10")); } [Fact] public void WhatIsInTheBoxesIsTrimmed() { Assert.Equal( "1234 DL1ABC 123", QtcMessages.Line(" 1234 ", " DL1ABC ", " 123 ", QtcMessages.DefaultFieldSpacing)); } }