root / trunk / Pithos.Core.Test / SnapshotDifferencerTest.cs @ 64171b56
History | View | Annotate | Download (14.2 kB)
1 | 99e6329f | Panagiotis Kanavos | // ----------------------------------------------------------------------- |
---|---|---|---|
2 | 99e6329f | Panagiotis Kanavos | // <copyright file="TestDifferencer.cs" company="Microsoft"> |
3 | 99e6329f | Panagiotis Kanavos | // TODO: Update copyright text. |
4 | 99e6329f | Panagiotis Kanavos | // </copyright> |
5 | 99e6329f | Panagiotis Kanavos | // ----------------------------------------------------------------------- |
6 | 99e6329f | Panagiotis Kanavos | |
7 | 99e6329f | Panagiotis Kanavos | using System.Collections; |
8 | 99e6329f | Panagiotis Kanavos | using NUnit.Framework; |
9 | 99e6329f | Panagiotis Kanavos | using Pithos.Interfaces; |
10 | 99e6329f | Panagiotis Kanavos | using Pithos.Network; |
11 | 99e6329f | Panagiotis Kanavos | |
12 | 99e6329f | Panagiotis Kanavos | namespace Pithos.Core.Test |
13 | 99e6329f | Panagiotis Kanavos | { |
14 | 99e6329f | Panagiotis Kanavos | using System; |
15 | 99e6329f | Panagiotis Kanavos | using System.Collections.Generic; |
16 | 99e6329f | Panagiotis Kanavos | using System.Linq; |
17 | 99e6329f | Panagiotis Kanavos | using System.Text; |
18 | 99e6329f | Panagiotis Kanavos | using Pithos.Core.Agents; |
19 | 99e6329f | Panagiotis Kanavos | |
20 | 99e6329f | Panagiotis Kanavos | [TestFixture] |
21 | 99e6329f | Panagiotis Kanavos | public class SnapshotDifferencerTest |
22 | 99e6329f | Panagiotis Kanavos | { |
23 | 99e6329f | Panagiotis Kanavos | private ObjectInfo[] _previous; |
24 | 99e6329f | Panagiotis Kanavos | private ObjectInfo[] _current; |
25 | 99e6329f | Panagiotis Kanavos | IEqualityComparer<ObjectInfo> _comparer = new ObjectInfoComparer(); |
26 | 99e6329f | Panagiotis Kanavos | |
27 | 99e6329f | Panagiotis Kanavos | [SetUp] |
28 | 99e6329f | Panagiotis Kanavos | public void Setup() |
29 | 99e6329f | Panagiotis Kanavos | { |
30 | 99e6329f | Panagiotis Kanavos | _previous = new []{ |
31 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc1",Container="Cont1",Name="Name1",Bytes=123,Hash="aa1",Version=1}, |
32 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc1",Container="Cont1",Name="Name2",Bytes=123,Hash="aa2",Version=1}, |
33 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc1",Container="Cont1",Name="Name3",Bytes=123,Hash="aa3",Version=1}, |
34 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc1",Container="Cont1",Name="Name4",Bytes=123,Hash="aa4",Version=1}, |
35 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc1",Container="Cont1",Name="Folder1/Name1",Bytes=123,Hash="aa4",Version=1}, |
36 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc2",Container="Cont1",Name="Name1",Bytes=123,Hash="aa1",Version=1}, |
37 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc2",Container="Cont1",Name="Name2",Bytes=123,Hash="aa2",Version=1}, |
38 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc1",Container="Cont2",Name="Name1",Bytes=123,Hash="aa1",Version=1}, |
39 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc1",Container="Cont2",Name="Name2",Bytes=123,Hash="aa2",Version=1}, |
40 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc1",Container="Cont2",Name="Name3",Bytes=123,Hash="aa3",Version=1}, |
41 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc1",Container="Cont2",Name="Name4",Bytes=123,Hash="aa4",Version=1}, |
42 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc2",Container="Cont2",Name="Name1",Bytes=123,Hash="aa1",Version=1}, |
43 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc2",Container="Cont2",Name="Name2",Bytes=123,Hash="aa2",Version=1}, |
44 | 99e6329f | Panagiotis Kanavos | }; |
45 | 99e6329f | Panagiotis Kanavos | _current = new []{ |
46 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc1",Container="Cont1",Name="Name2",Bytes=123,Hash="aa2",Version=1}, |
47 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc1",Container="Cont1",Name="Name3",Bytes=123,Hash="aa3",Version=1}, |
48 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc1",Container="Cont1",Name="Name4",Bytes=1234,Hash="aa45",Version=1}, |
49 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc1",Container="Cont1",Name="Name5",Bytes=123,Hash="aa5",Version=1}, |
50 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc1",Container="Cont1",Name="Folder1/Name1",Bytes=123,Hash="aa4",Version=1}, |
51 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc2",Container="Cont1",Name="Name1",Bytes=123,Hash="aa1",Version=1}, |
52 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc2",Container="Cont1",Name="Name2",Bytes=123,Hash="aa2",Version=1}, |
53 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc1",Container="Cont2",Name="Name2",Bytes=123,Hash="aa2",Version=1}, |
54 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc1",Container="Cont2",Name="Name3",Bytes=123,Hash="aa3",Version=1}, |
55 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc1",Container="Cont2",Name="Name4",Bytes=1234,Hash="aa45",Version=1}, |
56 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc1",Container="Cont2",Name="Name5",Bytes=123,Hash="aa5",Version=1}, |
57 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc2",Container="Cont2",Name="Name1",Bytes=123,Hash="aa1",Version=1}, |
58 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc2",Container="Cont2",Name="Name2",Bytes=123,Hash="aa2",Version=1}, |
59 | 99e6329f | Panagiotis Kanavos | }; |
60 | 99e6329f | Panagiotis Kanavos | |
61 | 99e6329f | Panagiotis Kanavos | } |
62 | 99e6329f | Panagiotis Kanavos | |
63 | 99e6329f | Panagiotis Kanavos | [Test] |
64 | 99e6329f | Panagiotis Kanavos | public void when_adding_a_snapshot_for_the_first_time() |
65 | 99e6329f | Panagiotis Kanavos | { |
66 | 99e6329f | Panagiotis Kanavos | var d1 = new SnapshotDifferencer(); |
67 | 99e6329f | Panagiotis Kanavos | var differencer=d1.Post(_previous); |
68 | 99e6329f | Panagiotis Kanavos | Assert.That(differencer.Deleted,Is.Empty); |
69 | 99e6329f | Panagiotis Kanavos | Assert.That(differencer.Created,Is.EquivalentTo(_previous)); |
70 | 99e6329f | Panagiotis Kanavos | Assert.That(differencer.Changed,Is.Empty); |
71 | 99e6329f | Panagiotis Kanavos | Assert.That(differencer.Unchanged,Is.Empty); |
72 | 99e6329f | Panagiotis Kanavos | } |
73 | 99e6329f | Panagiotis Kanavos | |
74 | 99e6329f | Panagiotis Kanavos | [Test] |
75 | 99e6329f | Panagiotis Kanavos | public void when_adding_a_second_snapshot_with_a_deletion() |
76 | 99e6329f | Panagiotis Kanavos | { |
77 | 99e6329f | Panagiotis Kanavos | var d1 = new SnapshotDifferencer(); |
78 | 99e6329f | Panagiotis Kanavos | var differencer=d1.Post(_previous).Post(_current); |
79 | 99e6329f | Panagiotis Kanavos | var deleted=new[] |
80 | 99e6329f | Panagiotis Kanavos | { |
81 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc1",Container="Cont1",Name="Name1",Bytes=123,Hash="aa1",Version=1}, |
82 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc1",Container="Cont2",Name="Name1",Bytes=123,Hash="aa1",Version=1}, |
83 | 99e6329f | Panagiotis Kanavos | }; |
84 | 99e6329f | Panagiotis Kanavos | Assert.That(differencer.Deleted.ToList(),Is.EquivalentTo(deleted) |
85 | 99e6329f | Panagiotis Kanavos | .Using((IEqualityComparer) new ObjectInfoComparer())); |
86 | 99e6329f | Panagiotis Kanavos | } |
87 | 99e6329f | Panagiotis Kanavos | [Test] |
88 | 99e6329f | Panagiotis Kanavos | public void when_adding_a_second_snapshot_with_an_addition() |
89 | 99e6329f | Panagiotis Kanavos | { |
90 | 99e6329f | Panagiotis Kanavos | var d1 = new SnapshotDifferencer(); |
91 | 99e6329f | Panagiotis Kanavos | var differencer=d1.Post(_previous).Post(_current); |
92 | 99e6329f | Panagiotis Kanavos | var created = new[] |
93 | 99e6329f | Panagiotis Kanavos | { |
94 | 99e6329f | Panagiotis Kanavos | new ObjectInfo { Account = "acc1", Container = "Cont1", Name = "Name5", Bytes = 123, Hash = "aa5", Version = 1 }, |
95 | 99e6329f | Panagiotis Kanavos | new ObjectInfo { Account = "acc1", Container = "Cont2", Name = "Name5", Bytes = 123, Hash = "aa5", Version = 1 }, |
96 | 99e6329f | Panagiotis Kanavos | }; |
97 | 99e6329f | Panagiotis Kanavos | Assert.That(differencer.Created.ToList(), Is.EquivalentTo(created) |
98 | 99e6329f | Panagiotis Kanavos | .Using((IEqualityComparer)new ObjectInfoComparer())); |
99 | 99e6329f | Panagiotis Kanavos | } |
100 | 99e6329f | Panagiotis Kanavos | [Test] |
101 | 99e6329f | Panagiotis Kanavos | public void when_adding_a_second_snapshot_with_a_change() |
102 | 99e6329f | Panagiotis Kanavos | { |
103 | 99e6329f | Panagiotis Kanavos | var d1 = new SnapshotDifferencer(); |
104 | 99e6329f | Panagiotis Kanavos | var differencer=d1.Post(_previous).Post(_current); |
105 | 99e6329f | Panagiotis Kanavos | var changed = new[] { |
106 | 64171b56 | Panagiotis Kanavos | new ObjectInfo { Account = "acc1", Container = "Cont1", Name = "Name4", Bytes = 1234, Hash = "aa45", PreviousHash="aa4", Version = 1 }, |
107 | 64171b56 | Panagiotis Kanavos | new ObjectInfo { Account = "acc1", Container = "Cont2", Name = "Name4", Bytes = 1234, Hash = "aa45", PreviousHash="aa4", Version = 1 }, |
108 | 99e6329f | Panagiotis Kanavos | }; |
109 | 64171b56 | Panagiotis Kanavos | |
110 | 64171b56 | Panagiotis Kanavos | Comparison<ObjectInfo> comparer = (x, y) => |
111 | 64171b56 | Panagiotis Kanavos | { |
112 | 64171b56 | Panagiotis Kanavos | if (x.Account == y.Account |
113 | 64171b56 | Panagiotis Kanavos | && x.Container == y.Container |
114 | 64171b56 | Panagiotis Kanavos | && x.Name == y.Name |
115 | 64171b56 | Panagiotis Kanavos | && x.Hash == y.Hash |
116 | 64171b56 | Panagiotis Kanavos | && x.PreviousHash == y.PreviousHash) |
117 | 64171b56 | Panagiotis Kanavos | return 0; |
118 | 64171b56 | Panagiotis Kanavos | return 1; |
119 | 64171b56 | Panagiotis Kanavos | }; |
120 | 64171b56 | Panagiotis Kanavos | |
121 | 64171b56 | Panagiotis Kanavos | Assert.That(differencer.Changed.ToList(), Is.EquivalentTo(changed).Using(comparer)); |
122 | 99e6329f | Panagiotis Kanavos | } |
123 | 99e6329f | Panagiotis Kanavos | |
124 | 99e6329f | Panagiotis Kanavos | [Test] |
125 | 99e6329f | Panagiotis Kanavos | public void when_adding_a_second_snapshot_with_unchanged() |
126 | 99e6329f | Panagiotis Kanavos | { |
127 | 99e6329f | Panagiotis Kanavos | var d1 = new SnapshotDifferencer(); |
128 | 99e6329f | Panagiotis Kanavos | var differencer=d1.Post(_previous).Post(_current); |
129 | 99e6329f | Panagiotis Kanavos | var unchanged = new[] |
130 | 99e6329f | Panagiotis Kanavos | { |
131 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc1",Container="Cont1",Name="Name2",Bytes=123,Hash="aa2",Version=1}, |
132 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc1",Container="Cont1",Name="Name3",Bytes=123,Hash="aa3",Version=1}, |
133 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc2",Container="Cont1",Name="Name1",Bytes=123,Hash="aa1",Version=1}, |
134 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc2",Container="Cont1",Name="Name2",Bytes=123,Hash="aa2",Version=1}, |
135 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc1",Container="Cont1",Name="Folder1/Name1",Bytes=123,Hash="aa4",Version=1}, |
136 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc1",Container="Cont2",Name="Name2",Bytes=123,Hash="aa2",Version=1}, |
137 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc1",Container="Cont2",Name="Name3",Bytes=123,Hash="aa3",Version=1}, |
138 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc2",Container="Cont2",Name="Name1",Bytes=123,Hash="aa1",Version=1}, |
139 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc2",Container="Cont2",Name="Name2",Bytes=123,Hash="aa2",Version=1}, |
140 | 99e6329f | Panagiotis Kanavos | }; |
141 | 99e6329f | Panagiotis Kanavos | Assert.That(differencer.Unchanged.ToList(), Is.EquivalentTo(unchanged) |
142 | 99e6329f | Panagiotis Kanavos | .Using((IEqualityComparer)new ObjectInfoComparer())); |
143 | 99e6329f | Panagiotis Kanavos | } |
144 | 99e6329f | Panagiotis Kanavos | |
145 | 99e6329f | Panagiotis Kanavos | [Test] |
146 | 99e6329f | Panagiotis Kanavos | public void when_adding_a_null_first_snapshot() |
147 | 99e6329f | Panagiotis Kanavos | { |
148 | 99e6329f | Panagiotis Kanavos | var d1 = new SnapshotDifferencer(); |
149 | 99e6329f | Panagiotis Kanavos | var differencer=d1.Post(null); |
150 | 99e6329f | Panagiotis Kanavos | Assert.That(differencer.Deleted, Is.Empty); |
151 | 99e6329f | Panagiotis Kanavos | Assert.That(differencer.Created, Is.Empty); |
152 | 99e6329f | Panagiotis Kanavos | Assert.That(differencer.Changed, Is.Empty); |
153 | 99e6329f | Panagiotis Kanavos | Assert.That(differencer.Unchanged, Is.Empty); |
154 | 99e6329f | Panagiotis Kanavos | } |
155 | 99e6329f | Panagiotis Kanavos | |
156 | 99e6329f | Panagiotis Kanavos | [Test] |
157 | 99e6329f | Panagiotis Kanavos | public void when_adding_a_null_second_snapshot() |
158 | 99e6329f | Panagiotis Kanavos | { |
159 | 99e6329f | Panagiotis Kanavos | var d1 = new SnapshotDifferencer(); |
160 | 99e6329f | Panagiotis Kanavos | var differencer=d1.Post(_previous).Post(null); |
161 | 99e6329f | Panagiotis Kanavos | Assert.That(differencer.Deleted, Is.EquivalentTo(_previous)); |
162 | 99e6329f | Panagiotis Kanavos | Assert.That(differencer.Created, Is.Empty); |
163 | 99e6329f | Panagiotis Kanavos | Assert.That(differencer.Changed, Is.Empty); |
164 | 99e6329f | Panagiotis Kanavos | Assert.That(differencer.Unchanged, Is.Empty); |
165 | 99e6329f | Panagiotis Kanavos | } |
166 | 99e6329f | Panagiotis Kanavos | |
167 | 99e6329f | Panagiotis Kanavos | [Test] |
168 | 99e6329f | Panagiotis Kanavos | public void when_adding_no_modifications() |
169 | 99e6329f | Panagiotis Kanavos | { |
170 | 99e6329f | Panagiotis Kanavos | var d1 = new SnapshotDifferencer(); |
171 | 99e6329f | Panagiotis Kanavos | //NOTE: Must post nomods for all accounts and contaienrs, otherwise the missing |
172 | 99e6329f | Panagiotis Kanavos | //containers will appear deleted |
173 | 99e6329f | Panagiotis Kanavos | var noModItem = new[]{ |
174 | 99e6329f | Panagiotis Kanavos | new NoModificationInfo("acc1", "Cont1"), |
175 | 99e6329f | Panagiotis Kanavos | new NoModificationInfo("acc1", "Cont2"), |
176 | 99e6329f | Panagiotis Kanavos | new NoModificationInfo("acc2", "Cont1"), |
177 | 99e6329f | Panagiotis Kanavos | new NoModificationInfo("acc2", "Cont2"), |
178 | 99e6329f | Panagiotis Kanavos | }; |
179 | 99e6329f | Panagiotis Kanavos | var differencer = d1.Post(_previous) |
180 | 99e6329f | Panagiotis Kanavos | .Post(noModItem); |
181 | 99e6329f | Panagiotis Kanavos | Assert.That(differencer.Deleted, Is.Empty,"should have no deletions"); |
182 | 99e6329f | Panagiotis Kanavos | Assert.That(differencer.Created, Is.Empty,"should have no insertions"); |
183 | 99e6329f | Panagiotis Kanavos | Assert.That(differencer.Changed, Is.Empty,"should have no changes"); |
184 | 99e6329f | Panagiotis Kanavos | Assert.That(differencer.Unchanged, Is.EquivalentTo(_previous),"should be equivalent to previous"); |
185 | 99e6329f | Panagiotis Kanavos | |
186 | 99e6329f | Panagiotis Kanavos | } |
187 | 99e6329f | Panagiotis Kanavos | |
188 | 99e6329f | Panagiotis Kanavos | [Test] |
189 | 99e6329f | Panagiotis Kanavos | public void when_adding_no_mod_for_a_folder() |
190 | 99e6329f | Panagiotis Kanavos | { |
191 | 99e6329f | Panagiotis Kanavos | var d1 = new SnapshotDifferencer(); |
192 | 99e6329f | Panagiotis Kanavos | //NOTE: Must post nomods for all accounts and contaienrs, otherwise the missing |
193 | 99e6329f | Panagiotis Kanavos | //containers will appear deleted |
194 | 99e6329f | Panagiotis Kanavos | var noModItems = new[]{ |
195 | 99e6329f | Panagiotis Kanavos | new NoModificationInfo("acc1", "Cont1","Folder1"), |
196 | 99e6329f | Panagiotis Kanavos | new NoModificationInfo("acc1", "Cont2"), |
197 | 99e6329f | Panagiotis Kanavos | new NoModificationInfo("acc2", "Cont1"), |
198 | 99e6329f | Panagiotis Kanavos | new NoModificationInfo("acc2", "Cont2"), |
199 | 99e6329f | Panagiotis Kanavos | }; |
200 | 99e6329f | Panagiotis Kanavos | var deleted = new[] |
201 | 99e6329f | Panagiotis Kanavos | { |
202 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc1",Container="Cont1",Name="Name1",Bytes=123,Hash="aa1",Version=1}, |
203 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc1",Container="Cont1",Name="Name2",Bytes=123,Hash="aa2",Version=1}, |
204 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc1",Container="Cont1",Name="Name3",Bytes=123,Hash="aa3",Version=1}, |
205 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc1",Container="Cont1",Name="Name4",Bytes=123,Hash="aa4",Version=1}, |
206 | 99e6329f | Panagiotis Kanavos | }; |
207 | 99e6329f | Panagiotis Kanavos | var unchanged = new[]{ |
208 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc1",Container="Cont1",Name="Folder1/Name1",Bytes=123,Hash="aa4",Version=1}, |
209 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc2",Container="Cont1",Name="Name1",Bytes=123,Hash="aa1",Version=1}, |
210 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc2",Container="Cont1",Name="Name2",Bytes=123,Hash="aa2",Version=1}, |
211 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc1",Container="Cont2",Name="Name1",Bytes=123,Hash="aa1",Version=1}, |
212 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc1",Container="Cont2",Name="Name2",Bytes=123,Hash="aa2",Version=1}, |
213 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc1",Container="Cont2",Name="Name3",Bytes=123,Hash="aa3",Version=1}, |
214 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc1",Container="Cont2",Name="Name4",Bytes=123,Hash="aa4",Version=1}, |
215 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc2",Container="Cont2",Name="Name1",Bytes=123,Hash="aa1",Version=1}, |
216 | 99e6329f | Panagiotis Kanavos | new ObjectInfo{Account="acc2",Container="Cont2",Name="Name2",Bytes=123,Hash="aa2",Version=1}, |
217 | 99e6329f | Panagiotis Kanavos | }; |
218 | 99e6329f | Panagiotis Kanavos | var differencer = d1.Post(_previous) |
219 | 99e6329f | Panagiotis Kanavos | .Post(noModItems); |
220 | 99e6329f | Panagiotis Kanavos | |
221 | 99e6329f | Panagiotis Kanavos | |
222 | 99e6329f | Panagiotis Kanavos | Assert.That(differencer.Deleted.ToList(), Is.EquivalentTo(deleted).Using(_comparer), "should have deletions only from acc1/cont1"); |
223 | 99e6329f | Panagiotis Kanavos | Assert.That(differencer.Created, Is.Empty,"should have no insertions"); |
224 | 99e6329f | Panagiotis Kanavos | Assert.That(differencer.Changed, Is.Empty,"should have no changes"); |
225 | 99e6329f | Panagiotis Kanavos | Assert.That(differencer.Unchanged, Is.EquivalentTo(unchanged).Using(_comparer),"should be equivalent to previous except the direct leafs of acc1/cont1"); |
226 | 99e6329f | Panagiotis Kanavos | |
227 | 99e6329f | Panagiotis Kanavos | } |
228 | 99e6329f | Panagiotis Kanavos | |
229 | 99e6329f | Panagiotis Kanavos | } |
230 | 99e6329f | Panagiotis Kanavos | |
231 | 99e6329f | Panagiotis Kanavos | |
232 | 99e6329f | Panagiotis Kanavos | } |