示例#1
0
 public PositionalDifference(int baselineStart, string baselineData, int secondaryStart, string secondaryData, DifferenceDatatype classification, int leeway)
 {
     BaselineStartPosition  = baselineStart;
     BaselineData           = baselineData;
     SecondaryStartPosition = secondaryStart;
     SecondaryData          = secondaryData;
     Classification         = classification;
     LocationLeeway         = leeway;
 }
示例#2
0
        public static PositionalDifference FromJObject(JObject source)
        {
            int    baselineStart  = source.GetValue(nameof(BaselineStartPosition)).ToObject <int>();
            string baselineData   = source.GetValue(nameof(BaselineData)).ToString();
            int    secondaryStart = source.GetValue(nameof(SecondaryStartPosition)).ToObject <int>();
            string secondaryData  = source.GetValue(nameof(SecondaryData)).ToString();

            int                leeway = source.GetValue(nameof(LocationLeeway)).ToObject <int>();
            string             classificationString = source.GetValue(nameof(ClassificationString)).ToString();
            DifferenceDatatype classification       = Enum.Parse <DifferenceDatatype>(classificationString);

            PositionalDifference difference = new PositionalDifference(baselineStart, baselineData, secondaryStart, secondaryData, classification, leeway);

            return(difference);
        }
        private PositionalDifference SetupExplicitlyTypedDifference(int baselineLength, int checkLength, byte baselineDiffFirstByte, byte checkDiffFirstByte, DifferenceDatatype datatype, int leeway)
        {
            int baselineDiffAbsoluteStart = _baselineData.LastReadPosition;
            int checkDiffAbsoluteStart    = _secondaryData.LastReadPosition;

            byte[] baselineDiffPart = _baselineData.ReadBytes(baselineLength, out int baselineBytesActuallyRead);
            byte[] checkDiffPart    = _secondaryData.ReadBytes(checkLength, out int checkBytesActuallyRead);

            string baselineString = Convert.ToChar(baselineDiffFirstByte) + Encoding.Default.GetString(baselineDiffPart);
            string checkString    = Convert.ToChar(checkDiffFirstByte) + Encoding.Default.GetString(checkDiffPart);

            return(new PositionalDifference(baselineDiffAbsoluteStart, baselineString, checkDiffAbsoluteStart, checkString, datatype, leeway));
        }