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; }
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)); }