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