@@ -3,31 +3,30 @@ public class RelativeDistanceTests
33 [ Fact ]
44 public void Direct_parent_child_relation ( )
55 {
6- var familyTree = new Dictionary < string , string [ ] >
6+ Dictionary < string , string [ ] > familyTree = new ( )
77 {
8- { "Aditi" , [ "Bao" ] } ,
9- { "Bao" , [ "Carlos" ] } ,
10- { "Carlos" , [ "Dalia" ] }
8+ { "Vera" , [ "Tomoko" ] } ,
9+ { "Tomoko" , [ "Aditi" ] }
1110 } ;
1211 RelativeDistance rd = new ( familyTree ) ;
13- Assert . Equal ( 3 , rd . DegreeOfSeparation ( "Aditi " , "Dalia " ) ) ;
12+ Assert . Equal ( 1 , rd . DegreeOfSeparation ( "Vera " , "Tomoko " ) ) ;
1413 }
1514
1615 [ Fact ( Skip = "Remove this Skip property to run this test" ) ]
1716 public void Sibling_relationship ( )
1817 {
19- var familyTree = new Dictionary < string , string [ ] >
18+ Dictionary < string , string [ ] > familyTree = new ( )
2019 {
21- { "Dalia" , [ "Olga" , "Yassin" ] } ,
20+ { "Dalia" , [ "Olga" , "Yassin" ] }
2221 } ;
2322 RelativeDistance rd = new ( familyTree ) ;
24- Assert . Equal ( 1 , rd . DegreeOfSeparation ( "Olga" , "Yassin" ) ) ; ;
23+ Assert . Equal ( 1 , rd . DegreeOfSeparation ( "Olga" , "Yassin" ) ) ;
2524 }
2625
2726 [ Fact ( Skip = "Remove this Skip property to run this test" ) ]
2827 public void Two_degrees_of_separation_grandchild ( )
2928 {
30- var familyTree = new Dictionary < string , string [ ] >
29+ Dictionary < string , string [ ] > familyTree = new ( )
3130 {
3231 { "Khadija" , [ "Mateo" ] } ,
3332 { "Mateo" , [ "Rami" ] }
@@ -39,7 +38,7 @@ public void Two_degrees_of_separation_grandchild()
3938 [ Fact ( Skip = "Remove this Skip property to run this test" ) ]
4039 public void Unrelated_individuals ( )
4140 {
42- var familyTree = new Dictionary < string , string [ ] >
41+ Dictionary < string , string [ ] > familyTree = new ( )
4342 {
4443 { "Priya" , [ "Rami" ] } ,
4544 { "Kaito" , [ "Elif" ] }
@@ -51,7 +50,7 @@ public void Unrelated_individuals()
5150 [ Fact ( Skip = "Remove this Skip property to run this test" ) ]
5251 public void Complex_graph_cousins ( )
5352 {
54- var familyTree = new Dictionary < string , string [ ] >
53+ Dictionary < string , string [ ] > familyTree = new ( )
5554 {
5655 { "Aiko" , [ "Bao" , "Carlos" ] } ,
5756 { "Bao" , [ "Dalia" , "Elias" ] } ,
@@ -111,125 +110,125 @@ public void Complex_graph_cousins()
111110 }
112111
113112 [ Fact ( Skip = "Remove this Skip property to run this test" ) ]
114- public void Complex_graph_far_removed_nephew ( )
113+ public void Complex_graph_no_shortcut_far_removed_nephew ( )
115114 {
116- var familyTree = new Dictionary < string , string [ ] >
115+ Dictionary < string , string [ ] > familyTree = new ( )
117116 {
117+ { "Aiko" , [ "Bao" , "Carlos" ] } ,
118+ { "Bao" , [ "Dalia" , "Elias" ] } ,
119+ { "Carlos" , [ "Fatima" , "Gustavo" ] } ,
120+ { "Dalia" , [ "Hassan" , "Isla" ] } ,
121+ { "Elias" , [ "Javier" ] } ,
122+ { "Fatima" , [ "Khadija" , "Liam" ] } ,
123+ { "Gustavo" , [ "Mina" ] } ,
124+ { "Hassan" , [ "Noah" , "Olga" ] } ,
125+ { "Isla" , [ "Pedro" ] } ,
126+ { "Javier" , [ "Quynh" , "Ravi" ] } ,
127+ { "Khadija" , [ "Sofia" ] } ,
128+ { "Liam" , [ "Tariq" , "Uma" ] } ,
118129 { "Mina" , [ "Viktor" , "Wang" ] } ,
130+ { "Noah" , [ "Xiomara" ] } ,
119131 { "Olga" , [ "Yuki" ] } ,
120- { "Javier" , [ "Quynh" , "Ravi" ] } ,
132+ { "Pedro" , [ "Zane" , "Aditi" ] } ,
133+ { "Quynh" , [ "Boris" ] } ,
134+ { "Ravi" , [ "Celine" ] } ,
135+ { "Sofia" , [ "Diego" , "Elif" ] } ,
121136 { "Tariq" , [ "Farah" ] } ,
137+ { "Uma" , [ "Giorgio" ] } ,
122138 { "Viktor" , [ "Hana" , "Ian" ] } ,
139+ { "Wang" , [ "Jing" ] } ,
140+ { "Xiomara" , [ "Kaito" ] } ,
141+ { "Yuki" , [ "Leila" ] } ,
142+ { "Zane" , [ "Mateo" ] } ,
143+ { "Aditi" , [ "Nia" ] } ,
144+ { "Boris" , [ "Oscar" ] } ,
145+ { "Celine" , [ "Priya" ] } ,
123146 { "Diego" , [ "Qi" ] } ,
124- { "Carlos" , [ "Fatima" , "Gustavo" ] } ,
147+ { "Elif" , [ "Rami" ] } ,
148+ { "Farah" , [ "Sven" ] } ,
149+ { "Giorgio" , [ "Tomoko" ] } ,
125150 { "Hana" , [ "Umar" ] } ,
151+ { "Ian" , [ "Vera" ] } ,
126152 { "Jing" , [ "Wyatt" ] } ,
127- { "Sven" , [ "Fabio" ] } ,
128- { "Zane" , [ "Mateo" ] } ,
129- { "Isla" , [ "Pedro" ] } ,
130- { "Quynh" , [ "Boris" ] } ,
131153 { "Kaito" , [ "Xia" ] } ,
132- { "Liam" , [ "Tariq" , "Uma" ] } ,
154+ { "Leila" , [ "Yassin" ] } ,
155+ { "Mateo" , [ "Zara" ] } ,
156+ { "Nia" , [ "Antonio" ] } ,
157+ { "Oscar" , [ "Bianca" ] } ,
133158 { "Priya" , [ "Cai" ] } ,
134159 { "Qi" , [ "Dimitri" ] } ,
135- { "Wang" , [ "Jing" ] } ,
136- { "Yuki" , [ "Leila" ] } ,
137- { "Xia" , [ "Kim" ] } ,
138- { "Pedro" , [ "Zane" , "Aditi" ] } ,
139- { "Uma" , [ "Giorgio" ] } ,
140- { "Giorgio" , [ "Tomoko" ] } ,
141- { "Gustavo" , [ "Mina" ] } ,
142- { "Sofia" , [ "Diego" , "Elif" ] } ,
143- { "Leila" , [ "Yassin" ] } ,
160+ { "Rami" , [ "Ewa" ] } ,
161+ { "Sven" , [ "Fabio" ] } ,
162+ { "Tomoko" , [ "Gabriela" ] } ,
144163 { "Umar" , [ "Helena" ] } ,
145- { "Aiko" , [ "Bao" , "Carlos" ] } ,
146- { "Fatima" , [ "Khadija" , "Liam" ] } ,
147- { "Oscar" , [ "Bianca" ] } ,
148- { "Wyatt" , [ "Jun" ] } ,
149- { "Ian" , [ "Vera" ] } ,
150- { "Mateo" , [ "Zara" ] } ,
151- { "Noah" , [ "Xiomara" ] } ,
152- { "Celine" , [ "Priya" ] } ,
153- { "Xiomara" , [ "Kaito" ] } ,
154- { "Bao" , [ "Dalia" , "Elias" ] } ,
155- { "Elif" , [ "Rami" ] } ,
156- { "Farah" , [ "Sven" ] } ,
157- { "Aditi" , [ "Nia" ] } ,
158164 { "Vera" , [ "Igor" ] } ,
159- { "Boris" , [ "Oscar" ] } ,
160- { "Khadija" , [ "Sofia" ] } ,
161- { "Zara" , [ "Mohammed" ] } ,
162- { "Dalia" , [ "Hassan" , "Isla" ] } ,
163- { "Ravi" , [ "Celine" ] } ,
165+ { "Wyatt" , [ "Jun" ] } ,
166+ { "Xia" , [ "Kim" ] } ,
164167 { "Yassin" , [ "Lucia" ] } ,
165- { "Elias" , [ "Javier" ] } ,
166- { "Nia" , [ "Antonio" ] } ,
167- { "Rami" , [ "Ewa" ] } ,
168- { "Hassan" , [ "Noah" , "Olga" ] } ,
169- { "Tomoko" , [ "Gabriela" ] }
168+ { "Zara" , [ "Mohammed" ] }
170169 } ;
171170 RelativeDistance rd = new ( familyTree ) ;
172171 Assert . Equal ( 14 , rd . DegreeOfSeparation ( "Lucia" , "Jun" ) ) ;
173172 }
174173
175174 [ Fact ( Skip = "Remove this Skip property to run this test" ) ]
176- public void Complex_graph_cousins_several_times_removed ( )
175+ public void Complex_graph_some_shortcuts_cross_down_and_cross_up_cousins_several_times_removed_with_unrelated_family_tree ( )
177176 {
178- var familyTree = new Dictionary < string , string [ ] >
177+ Dictionary < string , string [ ] > familyTree = new ( )
179178 {
179+ { "Aiko" , [ "Bao" , "Carlos" ] } ,
180+ { "Bao" , [ "Dalia" ] } ,
181+ { "Carlos" , [ "Fatima" , "Gustavo" ] } ,
182+ { "Dalia" , [ "Hassan" , "Isla" ] } ,
183+ { "Fatima" , [ "Khadija" , "Liam" ] } ,
184+ { "Gustavo" , [ "Mina" ] } ,
185+ { "Hassan" , [ "Noah" , "Olga" ] } ,
186+ { "Isla" , [ "Pedro" ] } ,
187+ { "Javier" , [ "Quynh" , "Ravi" ] } ,
188+ { "Khadija" , [ "Sofia" ] } ,
189+ { "Liam" , [ "Tariq" , "Uma" ] } ,
180190 { "Mina" , [ "Viktor" , "Wang" ] } ,
191+ { "Noah" , [ "Xiomara" ] } ,
181192 { "Olga" , [ "Yuki" ] } ,
182- { "Javier" , [ "Quynh" , "Ravi" ] } ,
193+ { "Pedro" , [ "Zane" , "Aditi" ] } ,
194+ { "Quynh" , [ "Boris" ] } ,
195+ { "Ravi" , [ "Celine" ] } ,
196+ { "Sofia" , [ "Diego" , "Elif" ] } ,
183197 { "Tariq" , [ "Farah" ] } ,
198+ { "Uma" , [ "Giorgio" ] } ,
184199 { "Viktor" , [ "Hana" , "Ian" ] } ,
200+ { "Wang" , [ "Jing" ] } ,
201+ { "Xiomara" , [ "Kaito" ] } ,
202+ { "Yuki" , [ "Leila" ] } ,
203+ { "Zane" , [ "Mateo" ] } ,
204+ { "Aditi" , [ "Nia" ] } ,
205+ { "Boris" , [ "Oscar" ] } ,
206+ { "Celine" , [ "Priya" ] } ,
185207 { "Diego" , [ "Qi" ] } ,
186- { "Carlos" , [ "Fatima" , "Gustavo" ] } ,
208+ { "Elif" , [ "Rami" ] } ,
209+ { "Farah" , [ "Sven" ] } ,
210+ { "Giorgio" , [ "Tomoko" ] } ,
187211 { "Hana" , [ "Umar" ] } ,
212+ { "Ian" , [ "Vera" ] } ,
188213 { "Jing" , [ "Wyatt" ] } ,
189- { "Sven" , [ "Fabio" ] } ,
190- { "Zane" , [ "Mateo" ] } ,
191- { "Isla" , [ "Pedro" ] } ,
192- { "Quynh" , [ "Boris" ] } ,
193214 { "Kaito" , [ "Xia" ] } ,
194- { "Liam" , [ "Tariq" , "Uma" ] } ,
215+ { "Leila" , [ "Yassin" ] } ,
216+ { "Mateo" , [ "Zara" ] } ,
217+ { "Nia" , [ "Antonio" ] } ,
218+ { "Oscar" , [ "Bianca" ] } ,
195219 { "Priya" , [ "Cai" ] } ,
196220 { "Qi" , [ "Dimitri" ] } ,
197- { "Wang" , [ "Jing" ] } ,
198- { "Yuki" , [ "Leila" ] } ,
199- { "Xia" , [ "Kim" ] } ,
200- { "Pedro" , [ "Zane" , "Aditi" ] } ,
201- { "Uma" , [ "Giorgio" ] } ,
202- { "Giorgio" , [ "Tomoko" ] } ,
203- { "Gustavo" , [ "Mina" ] } ,
204- { "Sofia" , [ "Diego" , "Elif" ] } ,
205- { "Leila" , [ "Yassin" ] } ,
221+ { "Rami" , [ "Ewa" ] } ,
222+ { "Sven" , [ "Fabio" ] } ,
223+ { "Tomoko" , [ "Gabriela" ] } ,
206224 { "Umar" , [ "Helena" ] } ,
207- { "Aiko" , [ "Bao" , "Carlos" ] } ,
208- { "Fatima" , [ "Khadija" , "Liam" ] } ,
209- { "Oscar" , [ "Bianca" ] } ,
210- { "Wyatt" , [ "Jun" ] } ,
211- { "Ian" , [ "Vera" ] } ,
212- { "Mateo" , [ "Zara" ] } ,
213- { "Noah" , [ "Xiomara" ] } ,
214- { "Celine" , [ "Priya" ] } ,
215- { "Xiomara" , [ "Kaito" ] } ,
216- { "Bao" , [ "Dalia" ] } ,
217- { "Elif" , [ "Rami" ] } ,
218- { "Farah" , [ "Sven" ] } ,
219- { "Aditi" , [ "Nia" ] } ,
220225 { "Vera" , [ "Igor" ] } ,
221- { "Boris" , [ "Oscar" ] } ,
222- { "Khadija" , [ "Sofia" ] } ,
223- { "Zara" , [ "Mohammed" ] } ,
224- { "Dalia" , [ "Hassan" , "Isla" ] } ,
225- { "Ravi" , [ "Celine" ] } ,
226+ { "Wyatt" , [ "Jun" ] } ,
227+ { "Xia" , [ "Kim" ] } ,
226228 { "Yassin" , [ "Lucia" ] } ,
227- { "Nia" , [ "Antonio" ] } ,
228- { "Rami" , [ "Ewa" ] } ,
229- { "Hassan" , [ "Noah" , "Olga" ] } ,
230- { "Tomoko" , [ "Gabriela" ] }
229+ { "Zara" , [ "Mohammed" ] }
231230 } ;
232231 RelativeDistance rd = new ( familyTree ) ;
233232 Assert . Equal ( 12 , rd . DegreeOfSeparation ( "Wyatt" , "Xia" ) ) ;
234233 }
235- }
234+ }
0 commit comments