CorrelatedSequence.cs 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. // Copyright (c) Microsoft. All rights reserved.
  2. // Licensed under the MIT license. See LICENSE file in the project root for full license information.
  3. using System;
  4. using System.Text;
  5. namespace OpenXmlPowerTools
  6. {
  7. internal class CorrelatedSequence
  8. {
  9. #if DEBUG
  10. public string SourceFile;
  11. public int SourceLine;
  12. #endif
  13. public CorrelatedSequence()
  14. {
  15. #if DEBUG
  16. SourceFile = new System.Diagnostics.StackTrace(true).GetFrame(1).GetFileName();
  17. SourceLine = new System.Diagnostics.StackTrace(true).GetFrame(1).GetFileLineNumber();
  18. #endif
  19. }
  20. public CorrelationStatus CorrelationStatus { get; set; }
  21. // if ComparisonUnitList1 == null and ComparisonUnitList2 contains sequence, then inserted content.
  22. // if ComparisonUnitList2 == null and ComparisonUnitList1 contains sequence, then deleted content.
  23. // if ComparisonUnitList2 contains sequence and ComparisonUnitList1 contains sequence, then either is Unknown or Equal.
  24. public ComparisonUnit[] ComparisonUnitArray1 { get; set; }
  25. public ComparisonUnit[] ComparisonUnitArray2 { get; set; }
  26. public override string ToString()
  27. {
  28. var sb = new StringBuilder();
  29. const string indentString = " ";
  30. const string indentString4 = " ";
  31. sb.Append("CorrelatedSequence =====" + Environment.NewLine);
  32. #if DEBUG
  33. sb.Append(indentString + "Created at Line: " + SourceLine + Environment.NewLine);
  34. #endif
  35. sb.Append(indentString + "CorrelatedItem =====" + Environment.NewLine);
  36. sb.Append(indentString4 + "CorrelationStatus: " + CorrelationStatus + Environment.NewLine);
  37. if (CorrelationStatus == CorrelationStatus.Equal)
  38. {
  39. sb.Append(indentString4 + "ComparisonUnitList =====" + Environment.NewLine);
  40. foreach (ComparisonUnit item in ComparisonUnitArray2)
  41. sb.Append(item.ToString(6) + Environment.NewLine);
  42. }
  43. else
  44. {
  45. if (ComparisonUnitArray1 != null)
  46. {
  47. sb.Append(indentString4 + "ComparisonUnitList1 =====" + Environment.NewLine);
  48. foreach (ComparisonUnit item in ComparisonUnitArray1)
  49. sb.Append(item.ToString(6) + Environment.NewLine);
  50. }
  51. if (ComparisonUnitArray2 != null)
  52. {
  53. sb.Append(indentString4 + "ComparisonUnitList2 =====" + Environment.NewLine);
  54. foreach (ComparisonUnit item in ComparisonUnitArray2)
  55. sb.Append(item.ToString(6) + Environment.NewLine);
  56. }
  57. }
  58. return sb.ToString();
  59. }
  60. }
  61. }