public static Message1008 Parse(string binStr) { StringSequence sequence = new StringSequence(); sequence.EnQuence(binStr); Message1008 msg = new Message1008(); msg.MessageNumber = BitConvertUtil.GetUInt(sequence.DeQueue(12)); //uint12 msg.ReferenceStationID = BitConvertUtil.GetUInt(sequence.DeQueue(12)); //uint12 msg.DescriptorCounterN = BitConvertUtil.GetUInt(sequence.DeQueue(8)); //uint8 int len = (int)msg.DescriptorCounterN; var str = BitConvertUtil.GetCharString(sequence, len);//char8(N) msg.AntennaDescriptor = str; msg.AntennaSetupID = BitConvertUtil.GetUInt(sequence.DeQueue(8)); //uint8 msg.SerialNumberCounterM = BitConvertUtil.GetUInt(sequence.DeQueue(8)); //uint8 msg.AntennaSerialNumber = BitConvertUtil.GetCharString(sequence, (int)msg.SerialNumberCounterM); //char8(M) msg.Length = 48 + (int)msg.DescriptorCounterN * 8 + (int)msg.SerialNumberCounterM * 8; return(msg); }
public static Message1007 Parse(string binStr) { StringSequence sequence = new StringSequence(); sequence.EnQuence(binStr); Message1007 msg = new Message1007(); msg.MessageNumber = BitConvertUtil.GetUInt(sequence.DeQueue(12)); //uint12 msg.ReferenceStationID = BitConvertUtil.GetUInt(sequence.DeQueue(12)); //uint12 msg.DescriptorCounterN = BitConvertUtil.GetUInt(sequence.DeQueue(8)); //uint8 StringBuilder sb = new StringBuilder(); for (int i = 0; i < (int)msg.DescriptorCounterN; i++) { var ch = BitConvertUtil.GetChar(sequence.DeQueue(8));//char8 sb.Append(ch); }//char8(N) msg.AntennaDescriptor = sb.ToString(); msg.AntennaSetupID = BitConvertUtil.GetUInt(sequence.DeQueue(8));//uint8 msg.Length = 40 + (int)msg.DescriptorCounterN * 8; return(msg); }
public static Message1005 Parse(string binStr) { StringSequence sequence = new StringSequence(); sequence.EnQuence(binStr); Message1005 msg = new Message1005(); msg.MessageNumber = BitConvertUtil.GetUInt(sequence.DeQueue(12)); //uint12 msg.ReferenceStationID = BitConvertUtil.GetUInt(sequence.DeQueue(12)); //uint12 msg.ReservedforITRFRealizationYear = BitConvertUtil.GetUInt(sequence.DeQueue(6)); //uint6 msg.GpsIndicator = BitConvertUtil.GetInt(sequence.DeQueue(1)) == 1; //bit(1) msg.GLONASSIndicator = BitConvertUtil.GetInt(sequence.DeQueue(1)) == 1; //bit(1) msg.ReservedforGalileoIndicator = BitConvertUtil.GetInt(sequence.DeQueue(1)) == 1; //bit(1) msg.ReferenceStationIndicator = BitConvertUtil.GetInt(sequence.DeQueue(1)) == 1; //bit(1) msg.AntennaReferencePointECEF_X = BitConvertUtil.GetLong(sequence.DeQueue(38)) * 0.0001; //int38 msg.SingleReceiverOscillatorIndicator = BitConvertUtil.GetInt(sequence.DeQueue(1)) == 1; //bit(1) msg.Reserved1 = BitConvertUtil.GetInt(sequence.DeQueue(1)) == 1; //bit(1) msg.AntennaReferencePointECEF_Y = BitConvertUtil.GetLong(sequence.DeQueue(38)) * 0.0001; //int38 //msg.Reserved2 = BitConvertUtil.GetInt(sequence.DeQueue(1)) == 1;//bit(1) msg.quartercycleindicator = BitConvertUtil.GetUInt(sequence.DeQueue(2)); //bit(2) msg.AntennaReferencePointECEF_Z = BitConvertUtil.GetLong(sequence.DeQueue(38)) * 0.0001; //int38 return(msg); }
public static Message1023 Parse(string binStr) { StringSequence sequence = new StringSequence(); sequence.EnQuence(binStr); Message1023 msg = new Message1023(); msg.SystemIdentificationNumber = BitConvertUtil.GetUInt(sequence.DeQueue(8)); msg.HorizontalShiftIndicator = BitConvertUtil.GetInt(sequence.DeQueue(1)) == 1; msg.VerticalShiftIndicator = BitConvertUtil.GetInt(sequence.DeQueue(1)) == 1; msg.fai0 = BitConvertUtil.GetInt(sequence.DeQueue(21)); msg.lamda0 = BitConvertUtil.GetInt(sequence.DeQueue(22)); msg.Deltafai = BitConvertUtil.GetUInt(sequence.DeQueue(12)); msg.Deltalamda = BitConvertUtil.GetUInt(sequence.DeQueue(12)); msg.MeanDeltafai = BitConvertUtil.GetInt(sequence.DeQueue(8)); msg.MeanDeltalamda = BitConvertUtil.GetInt(sequence.DeQueue(8)); msg.MeanDeltaH = BitConvertUtil.GetInt(sequence.DeQueue(15)); for (int i = 0; i < 16; i++) { msg.Segmafai = BitConvertUtil.GetInt(sequence.DeQueue(9)); msg.Segmalamda = BitConvertUtil.GetInt(sequence.DeQueue(9)); msg.Segmah = BitConvertUtil.GetInt(sequence.DeQueue(9)); } msg.HorizontalInterpolationMethodIndicator = BitConvertUtil.GetUInt(sequence.DeQueue(2)); msg.VerticalInterpolationMethodIndicator = BitConvertUtil.GetUInt(sequence.DeQueue(2)); msg.HorizontalGridQualityIndicator = BitConvertUtil.GetUInt(sequence.DeQueue(3)); msg.VerticalGridQualityIndicator = BitConvertUtil.GetUInt(sequence.DeQueue(3)); msg.MJDNumber = BitConvertUtil.GetUInt(sequence.DeQueue(16)); return(msg); }
public void AccessOutOfBoundsShouldThrow() { var seq = new StringSequence(); var x = seq[0]; Assert.ThrowsAny <ArgumentOutOfRangeException>(() => { var x = seq[0]; }); }
public void OnListDirectorys(string name) { StringSequence strings = new StringSequence(); if (Directory.Exists(BaseDir + _currentDirectory)) { try { string[] dirs = Directory.GetDirectories(BaseDir + _currentDirectory + "/" + name); LogService.Info(this, "List folders under {0} success", name); for (int i = 0; i < dirs.Length; i++) { strings.GetElements().AddRange(dirs); } _connection.Send(FileServerHelper.ListDirectorysResult(0, strings)); return; } catch (Exception err) { LogService.ErrorE(this, string.Format("failed to list directory {0} under {1}", name, _currentDirectory), err); strings.Add(err.Message); _connection.Send(FileServerHelper.ListDirectorysResult(-1, strings)); } } else { LogService.Warn(this, "Directory {0} does not exist", name); _connection.Send(FileServerHelper.ListDirectorysResult(-2, strings)); } }
/// <summary> /// 解析报文头文件 /// </summary> /// <param name="binStr"></param> /// <returns></returns> public static SSRGlonassHeader65 Parse(string binStr) { StringSequence sequence = new StringSequence(); sequence.EnQuence(binStr); SSRGlonassHeader65 header = new SSRGlonassHeader65(); header.MessageNumber = (MessageType)BitConvertUtil.GetInt(sequence.DeQueue(12)); header.EpochTime1s = BitConvertUtil.GetUInt(sequence.DeQueue(17)) + 17; header.SSRUpdateInterval = BitConvertUtil.GetInt(sequence.DeQueue(4)) == 4; header.MultipleMessageIndicator = BitConvertUtil.GetInt(sequence.DeQueue(1)) == 1; header.SatlliteReferenceDatum = BitConvertUtil.GetInt(sequence.DeQueue(1)); header.IODSSR = BitConvertUtil.GetUInt(sequence.DeQueue(4)); header.SSRProviderID = BitConvertUtil.GetUInt(sequence.DeQueue(16)); header.SSRSolutionID = BitConvertUtil.GetUInt(sequence.DeQueue(4)); header.NoofSatellite = BitConvertUtil.GetUInt(sequence.DeQueue(6)); if (header.EpochTime1s >= 3 * 3600) { header.EpochTime1s -= 3 * 3600; } else { header.EpochTime1s += 21 * 3600; } return(header); }
public static MSM3 Parse(string binStr, int Nsat, int Ncell) { StringSequence sequence = new StringSequence(); sequence.EnQuence(binStr); MSM3 msg = new MSM3(); for (int i = 0; i < Nsat; i++) { msg.SatelliteRoughRangesModulo1ms.Add(BitConvertUtil.GetUInt(sequence.DeQueue(10))); } for (int i = 0; i < Ncell; i++) { msg.SignalFinePseudorange.Add(BitConvertUtil.GetInt(sequence.DeQueue(15))); } for (int i = 0; i < Ncell; i++) { msg.SignalFinePhaseRange.Add(BitConvertUtil.GetInt(sequence.DeQueue(22))); } for (int i = 0; i < Ncell; i++) { msg.PhaseRangeLockTimeIndicator.Add(BitConvertUtil.GetUInt(sequence.DeQueue(4))); } for (int i = 0; i < Ncell; i++) { msg.HalfCycleAmbiguityIndicator.Add(BitConvertUtil.GetInt(sequence.DeQueue(1))); } return(msg); }
public void AddShouldAdd(string item) { var seq = new StringSequence(); seq.Add(item); Assert.Equal(expected: item, actual: seq[0]); }
public static Message1033 Parse(string binStr) { StringSequence sequence = new StringSequence(); sequence.EnQuence(binStr); Message1033 msg = new Message1033(); msg.MessageNumber = BitConvertUtil.GetUInt(sequence.DeQueue(12)); //uint12 msg.ReferenceStationID = BitConvertUtil.GetUInt(sequence.DeQueue(12)); //uint12 msg.AntennaDescriptorCounterN = BitConvertUtil.GetUInt(sequence.DeQueue(8)); //uint8 msg.AntennaDescriptor = GetString(sequence, (int)msg.AntennaDescriptorCounterN); //char 8*N msg.AntennaSetupID = BitConvertUtil.GetUInt(sequence.DeQueue(8)); //uint8 msg.AntennaSerialNumberCounterM = BitConvertUtil.GetUInt(sequence.DeQueue(8)); //uint8 msg.AntennaSerialNumber = GetString(sequence, (int)msg.AntennaSerialNumberCounterM); //char 8*M msg.ReceiverTypeDescriptorCounterI = BitConvertUtil.GetUInt(sequence.DeQueue(8)); //uint8 msg.ReceiverTypeDescriptor = GetString(sequence, (int)msg.ReceiverTypeDescriptorCounterI); //char 8*I msg.ReceiverFirmwareVersionCounterJ = BitConvertUtil.GetUInt(sequence.DeQueue(8)); //uint8 msg.ReceiverFirmwareVersion = GetString(sequence, (int)msg.ReceiverFirmwareVersionCounterJ); //char 8*J msg.ReceiverSerialNumberCounterK = BitConvertUtil.GetUInt(sequence.DeQueue(8)); //uint8 msg.ReceiverSerialNumber = GetString(sequence, (int)msg.ReceiverSerialNumberCounterK); //char 8*K msg.Length = 72 + ((int)msg.AntennaDescriptorCounterN + (int)msg.AntennaSerialNumberCounterM + (int)msg.ReceiverTypeDescriptorCounterI + (int)msg.ReceiverFirmwareVersionCounterJ + (int)msg.ReceiverSerialNumberCounterK ) * 8; return(msg); }
public void AccessOutOfBoundsShouldThrow() { // arrange var seq = new StringSequence(); // act Assert.ThrowsAny <ArgumentOutOfRangeException>(() => seq[0]); }
public void ShortestShouldReturnShortestString() { var seq = new StringSequence(); seq.Add("a"); seq.Add("b"); seq.Add("c"); Assert.Equal("a", seq.Shortest(seq)); }
public void AddshouldAddInConsistentOrder() { var seq = new StringSequence(); seq.Add("abc"); seq.Add("def"); Assert.Equal(expected: "abc", actual: seq[0]); Assert.Equal(expected: "def", actual: seq[1]); }
public void AddShouldAdd() { //arrange (any setup necessary to prepare for the behavior to test var seq = new StringSequence(); //act do the thing you want to test seq.Add("abc"); //assert (verify that the behavior was as expected) Assert.Equal(expected: "abc", actual: seq[0]); }
public void AccessOutOfBoundsShouldThrow() { // arrange var seq = new StringSequence(); // act, assert (that an exception is thrown when some code runs.) Assert.ThrowsAny <ArgumentOutOfRangeException>(() => { var x = seq[0]; }); }
public void CheckTextToEmogee(string item) { //arrange var seq = new StringSequence(); //act seq.Add(item); //assert Assert.Equal("😁", item); }
[Fact] //Attribute public void AddShouldAdd() { //Arrange ---- any set up necessary to prepare for the behavior to test var seq = new StringSequence(); //Act ---- Do The Thing You Want To Test seq.Add("abc"); //Assert ---- Verify That Behaviour was as Expected Assert.Equal(expected: "abc", actual: seq[0]); }
public void AddShouldAdd(string item) { //arrange (any setup necessary to prepare for the behavior to test) var seq = new StringSequence(); //act (do the thing you want to test) seq.Add(item); //assert (verify that the behavior was as expected) Assert.Equal(item, actual: seq[0]); }
public static MsgItem Parse(string binStr) { StringSequence sequence = new StringSequence(); sequence.EnQuence(binStr); MsgItem msg = new Rtcm.MsgItem(); msg.MessageID1 = BitConvertUtil.GetUInt(sequence.DeQueue(12)); //uint12 msg.Message1SyncFlag = BitConvertUtil.GetInt(sequence.DeQueue(1)) == 1; //uint12 msg.Message1TransmissionInterval = BitConvertUtil.GetUInt(sequence.DeQueue(16)); //uint12 return(msg); }
public void LongestStringShouldReturnLongest() { var seq = new StringSequence(); seq.Add(""); seq.Add("abc"); seq.Add("0918034"); var longest = seq.LongestString(); Assert.Equal("0918034", longest); }
private static string GetString(StringSequence sequence, int count) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < count; i++) { var ch = BitConvertUtil.GetChar(sequence.DeQueue(8));//uint12 sb.Append(ch); } var str = sb.ToString(); return(str); }
public void ShortestStringShouldReturnShortest() { var seq = new StringSequence(); seq.Add("Helloooooooo"); seq.Add(""); seq.Add("asdf"); seq.Add("v"); var shortest = seq.ShortestString(); Assert.Equal("", shortest); }
public void AddShouldAddInConsistentOrder() { //arrange (any setup necessary to prepare for the behavior to test) var seq = new StringSequence(); //act (do the thing you want to test) seq.Add("abc"); seq.Add("def"); //assert (verify that the behavior was as expected) Assert.Equal(expected: "abc", actual: seq[0]); Assert.Equal(expected: "def", actual: seq[1]); }
public static Message1251 Parse(string binStr) { StringSequence sequence = new StringSequence(); sequence.EnQuence(binStr); Message1251 msg = new Message1251(); msg.SatelliteID = BitConvertUtil.GetUInt(sequence.DeQueue(4)); msg.HighRateClockCorrection = BitConvertUtil.GetInt(sequence.DeQueue(22)); return(msg); }
public static Message1250 Parse(string binStr) { StringSequence sequence = new StringSequence(); sequence.EnQuence(binStr); Message1250 msg = new Message1250(); msg.SatelliteID = BitConvertUtil.GetUInt(sequence.DeQueue(4)); msg.SSRURA = BitConvertUtil.GetUInt(sequence.DeQueue(6)); return(msg); }
public static Message1020 Parse(string binStr) { StringSequence sequence = new StringSequence(); sequence.EnQuence(binStr); Message1020 msg = new Message1020(); msg.MessageNumber = BitConvertUtil.GetUInt(sequence.DeQueue(12)); msg.SatelliteID = BitConvertUtil.GetUInt(sequence.DeQueue(6)); msg.SatelliteFrequencyChannelNumber = BitConvertUtil.GetUInt(sequence.DeQueue(5)) - 7; msg.AlmanacHealth = BitConvertUtil.GetInt(sequence.DeQueue(1)) == 1; msg.AlmanacHealthAvailabilityIndicator = BitConvertUtil.GetInt(sequence.DeQueue(1)); msg.P1 = BitConvertUtil.GetUInt(sequence.DeQueue(2)); //Tk 分为时、分、秒,各自所占字符数不等 msg.Tkh = BitConvertUtil.GetUInt(sequence.DeQueue(6)); msg.Tkm = BitConvertUtil.GetUInt(sequence.DeQueue(5)); msg.Tks = BitConvertUtil.GetInt(sequence.DeQueue(1)) * 30; msg.MsbOfBnWord = BitConvertUtil.GetInt(sequence.DeQueue(1)); msg.P2 = BitConvertUtil.GetInt(sequence.DeQueue(1)) == 1; msg.Tb = BitConvertUtil.GetUInt(sequence.DeQueue(7)) * 900; msg.XnfFirstDerivative = BitConvertUtil.ConvertToInt64WithInverseCode(sequence.DeQueue(24)) * GnssConst.P2_20 * 1E3; msg.Xn = BitConvertUtil.ConvertToInt64WithInverseCode(sequence.DeQueue(27)) * GnssConst.P2_11 * 1E3; msg.XnSecondDerivative = BitConvertUtil.ConvertToInt64WithInverseCode(sequence.DeQueue(5)) * GnssConst.P2_30 * 1E3; msg.YnfFirstDerivative = BitConvertUtil.ConvertToInt64WithInverseCode(sequence.DeQueue(24)) * GnssConst.P2_20 * 1E3; msg.Yn = BitConvertUtil.ConvertToInt64WithInverseCode(sequence.DeQueue(27)) * GnssConst.P2_11 * 1E3; msg.YnSecondDerivative = BitConvertUtil.ConvertToInt64WithInverseCode(sequence.DeQueue(5)) * GnssConst.P2_30 * 1E3; msg.ZnfFirstDerivative = BitConvertUtil.ConvertToInt64WithInverseCode(sequence.DeQueue(24)) * GnssConst.P2_20 * 1E3; msg.Zn = BitConvertUtil.ConvertToInt64WithInverseCode(sequence.DeQueue(27)) * GnssConst.P2_11 * 1E3; msg.ZnSecondDerivative = BitConvertUtil.ConvertToInt64WithInverseCode(sequence.DeQueue(5)) * GnssConst.P2_30 * 1E3; msg.P3 = BitConvertUtil.GetInt(sequence.DeQueue(1)) == 1; msg.GamaN = BitConvertUtil.ConvertToInt64WithInverseCode(sequence.DeQueue(11)) * GnssConst.P2_40; msg.Mp = BitConvertUtil.GetUInt(sequence.DeQueue(2)); msg.Mln = BitConvertUtil.GetInt(sequence.DeQueue(1)) == 1; msg.TaoN = BitConvertUtil.GetInt(sequence.DeQueue(22)) * GnssConst.P2_30; msg.MDeltaTaoN = BitConvertUtil.ConvertToInt64WithInverseCode(sequence.DeQueue(5)); msg.En = BitConvertUtil.GetUInt(sequence.DeQueue(5)); msg.Mp4 = BitConvertUtil.GetInt(sequence.DeQueue(1)) == 1; msg.Mft = BitConvertUtil.GetUInt(sequence.DeQueue(4)); msg.Mnt = BitConvertUtil.GetUInt(sequence.DeQueue(11)); msg.Mm = BitConvertUtil.GetUInt(sequence.DeQueue(2)); msg.TheAvailabilityOfAdditionalData = BitConvertUtil.GetInt(sequence.DeQueue(1)) == 1; msg.Na = BitConvertUtil.GetUInt(sequence.DeQueue(11)); msg.TaoC = BitConvertUtil.ConvertToInt64WithInverseCode(sequence.DeQueue(32)); msg.Mn4 = BitConvertUtil.GetUInt(sequence.DeQueue(5)); msg.MtaoGps = BitConvertUtil.ConvertToInt64WithInverseCode(sequence.DeQueue(22)); msg.MlnFifthString = BitConvertUtil.GetInt(sequence.DeQueue(1)) == 1; msg.Reserved = BitConvertUtil.GetUInt(sequence.DeQueue(7)); return(msg); }
public static void ListDirectorysResult(int result, StringSequence directories, ByteArray byteArray) { byteArray.Reset(); byteArray.WriteHeader(); byteArray.writeInt(EnumFileMethods.CLIENT_LISTDIRECTORYSRESULT_HASH); byteArray.EncryptKey = EnumFileMethods.CLIENT_LISTDIRECTORYSRESULT_HASH; byteArray.CRC = 0; byteArray.writeDynamicsInt(ByteArray.globalSeq); byteArray.writeDynamicsInt(result); directories.WriteToByteArray(byteArray); ++ByteArray.globalSeq; byteArray.writeIntNCRC(byteArray.CRC); byteArray.EncryptKey = 0; }
public void IfColtonsNameIsOnTheListShouldReturnTrue() { //arrange var seq = new StringSequence(); seq.Add("other name"); seq.Add("another name"); seq.Add("Colton"); //act var MyName = seq.AmIOnTheList(); //assert Assert.True(MyName); }
public static MSM7 Parse(string binStr, int Nsat, int Ncell) { StringSequence sequence = new StringSequence(); sequence.EnQuence(binStr); MSM7 msg = new MSM7(); for (int i = 0; i < Nsat; i++) { msg.NumberOfIntegerMsInSatRoughRange.Add(BitConvertUtil.GetUInt(sequence.DeQueue(8))); } for (int i = 0; i < Nsat; i++) { msg.ExtendedSatInfo.Add(BitConvertUtil.GetUInt(sequence.DeQueue(4))); } for (int i = 0; i < Nsat; i++) { msg.SatelliteRoughRangesModulo1ms.Add(BitConvertUtil.GetUInt(sequence.DeQueue(10))); } for (int i = 0; i < Nsat; i++) { msg.SatRoughPhaseRangeRate.Add(BitConvertUtil.GetInt(sequence.DeQueue(14))); } for (int i = 0; i < Ncell; i++) { msg.SignalFinePseudorangeWithExtendedResolution.Add(BitConvertUtil.GetInt(sequence.DeQueue(20))); } for (int i = 0; i < Ncell; i++) { msg.SignalFinePhaseRangeWithExtendedResolution.Add(BitConvertUtil.GetInt(sequence.DeQueue(24))); } for (int i = 0; i < Ncell; i++) { msg.PhaseRangeLockTimeIndicatorWithExtendedRangeAndResolution.Add(BitConvertUtil.GetUInt(sequence.DeQueue(10))); } for (int i = 0; i < Ncell; i++) { msg.HalfCycleAmbiguityIndicator.Add(BitConvertUtil.GetInt(sequence.DeQueue(1))); } for (int i = 0; i < Ncell; i++) { msg.SignalCnrWithExtendedResolution.Add(BitConvertUtil.GetUInt(sequence.DeQueue(10))); } for (int i = 0; i < Ncell; i++) { msg.SignalFinePhaseRangeRate.Add(BitConvertUtil.GetInt(sequence.DeQueue(15))); } return(msg); }
public static ByteArray ListDirectorysResult(int result, StringSequence directories) { ByteArray byteArray = new ByteArray(); byteArray.writeInt(EnumFileMethods.CLIENT_LISTDIRECTORYSRESULT_HASH); byteArray.EncryptKey = EnumFileMethods.CLIENT_LISTDIRECTORYSRESULT_HASH; byteArray.CRC = 0; byteArray.writeDynamicsInt(ByteArray.globalSeq); byteArray.writeDynamicsInt(result); directories.WriteToByteArray(byteArray); ++ByteArray.globalSeq; byteArray.writeInt(byteArray.CRC); byteArray.EncryptKey = 0; return(byteArray); }