TestChangesModel.cs 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. using System;
  2. using System.Collections.Generic;
  3. using Unity.Cloud.Collaborate.Models;
  4. using Unity.Cloud.Collaborate.Models.Structures;
  5. using Unity.Cloud.Collaborate.UserInterface;
  6. namespace Unity.Cloud.Collaborate.Tests.Models
  7. {
  8. internal class TestChangesModel : IChangesModel
  9. {
  10. public int UpdateEntryToggleCount;
  11. public string UpdateEntryTogglePath;
  12. public bool? UpdateEntryToggleValue;
  13. public int GetToggledEntriesCount;
  14. public string GetToggledEntriesQuery;
  15. public int GetUntoggledEntriesCount;
  16. public string GetUntoggledEntriesQuery;
  17. public int GetAllEntriesCount;
  18. public string GetAllEntriesQuery;
  19. public int GetConflictedEntriesCount;
  20. public string GetConflictedEntriesQuery;
  21. public int RequestInitialDataCount;
  22. public int RequestDiscardCount;
  23. public IChangeEntry RequestDiscardEntry;
  24. public int RequestBulkDiscardCount;
  25. public IReadOnlyList<IChangeEntry> RequestBulkDiscardPaths;
  26. public int RequestDiffCount;
  27. public string RequestDiffPath;
  28. public int RequestPublishCount;
  29. public IReadOnlyList<IChangeEntry> RequestPublishList;
  30. public IReadOnlyList<IChangeEntryData> UntoggledEntries = new List<IChangeEntryData>();
  31. public IReadOnlyList<IChangeEntryData> ToggledEntries = new List<IChangeEntryData>();
  32. public IReadOnlyList<IChangeEntryData> AllEntries = new List<IChangeEntryData>();
  33. public IReadOnlyList<IChangeEntryData> ConflictedEntries = new List<IChangeEntryData>();
  34. public event Action UpdatedChangeList = delegate { };
  35. public event Action<bool> BusyStatusUpdated = delegate { };
  36. public event Action OnUpdatedSelectedChanges = delegate { };
  37. public event Action StateChanged = delegate { };
  38. public string SavedRevisionSummary { get; set; } = "";
  39. public string SavedSearchQuery { get; set; } = "";
  40. public int ToggledCount => ToggledEntries.Count;
  41. public int TotalCount => AllEntries.Count;
  42. public int ConflictedCount => ConflictedEntries.Count;
  43. public bool Conflicted => ConflictedCount != 0;
  44. public bool Busy { get; set; }
  45. public void TriggerUpdatedChangeList()
  46. {
  47. UpdatedChangeList();
  48. }
  49. public void TriggerBusyStatusUpdated(bool value)
  50. {
  51. BusyStatusUpdated(value);
  52. }
  53. public bool UpdateEntryToggle(string path, bool toggled)
  54. {
  55. UpdateEntryToggleCount++;
  56. UpdateEntryTogglePath = path;
  57. UpdateEntryToggleValue = toggled;
  58. return false;
  59. }
  60. public IReadOnlyList<IChangeEntryData> GetToggledEntries(string query = null)
  61. {
  62. GetToggledEntriesCount++;
  63. GetToggledEntriesQuery = query;
  64. return ToggledEntries;
  65. }
  66. public IReadOnlyList<IChangeEntryData> GetUntoggledEntries(string query = null)
  67. {
  68. GetUntoggledEntriesCount++;
  69. GetUntoggledEntriesQuery = query;
  70. return UntoggledEntries;
  71. }
  72. public IReadOnlyList<IChangeEntryData> GetAllEntries(string query = null)
  73. {
  74. GetAllEntriesCount++;
  75. GetAllEntriesQuery = query;
  76. return AllEntries;
  77. }
  78. public IReadOnlyList<IChangeEntryData> GetConflictedEntries(string query = null)
  79. {
  80. GetConflictedEntriesCount++;
  81. GetConflictedEntriesQuery = query;
  82. return ConflictedEntries;
  83. }
  84. public void RequestInitialData()
  85. {
  86. RequestInitialDataCount++;
  87. }
  88. public void RequestDiffChanges(string path)
  89. {
  90. RequestDiffCount++;
  91. RequestDiffPath = path;
  92. }
  93. public void RequestDiscard(IChangeEntry entry)
  94. {
  95. RequestDiscardCount++;
  96. RequestDiscardEntry = entry;
  97. }
  98. public void RequestBulkDiscard(IReadOnlyList<IChangeEntry> paths)
  99. {
  100. RequestBulkDiscardCount++;
  101. RequestBulkDiscardPaths = paths;
  102. }
  103. public void RequestPublish(string message, IReadOnlyList<IChangeEntry> changes = null)
  104. {
  105. RequestPublishCount++;
  106. RequestPublishList = changes;
  107. }
  108. public void RequestShowConflictedDifferences(string path)
  109. {
  110. throw new NotImplementedException();
  111. }
  112. public void RequestChooseMerge(string path)
  113. {
  114. throw new NotImplementedException();
  115. }
  116. public void RequestChooseMine(string[] paths)
  117. {
  118. throw new NotImplementedException();
  119. }
  120. public void RequestChooseRemote(string[] paths)
  121. {
  122. throw new NotImplementedException();
  123. }
  124. internal class ChangeEntryData : IChangeEntryData
  125. {
  126. public IChangeEntry Entry { get; set; }
  127. public bool Toggled { get; set; }
  128. public bool All { get; set; }
  129. public bool ToggleReadOnly { get; set; }
  130. public bool Conflicted { get; set; }
  131. }
  132. public void OnStart()
  133. {
  134. throw new NotImplementedException();
  135. }
  136. public void OnStop()
  137. {
  138. throw new NotImplementedException();
  139. }
  140. public void RestoreState(IWindowCache cache)
  141. {
  142. throw new NotImplementedException();
  143. }
  144. public void SaveState(IWindowCache cache)
  145. {
  146. throw new NotImplementedException();
  147. }
  148. }
  149. }