public void VerifyThatExceptionThrown() { var list = new ReactiveList <IRowViewModelBase <Thing> >(); var comparer = new ElementDefinitionChildRowComparer(); Assert.Throws <ArgumentNullException>(() => list.SortedInsert(null, comparer)); }
public void VerifyThatRowsAreInsertedCorrectly() { var list = new ReactiveList <IRowViewModelBase <Thing> >(); var comparer = new ElementDefinitionChildRowComparer(); var parameter1 = new Parameter(Guid.NewGuid(), this.cache, this.uri) { ParameterType = this.type, Owner = this.domain, Container = this.elementDef }; parameter1.ValueSet.Add(this.valueSet); var parameterRow1 = new ParameterRowViewModel(parameter1, this.option, this.session.Object, null); var typeClone = this.type.Clone(false); typeClone.Name = "b"; var paraClone = parameter1.Clone(false); paraClone.ParameterType = typeClone; var parameterRow2 = new ParameterRowViewModel(paraClone, this.option, this.session.Object, null) { Name = "b" }; var group1 = new ParameterGroup(Guid.NewGuid(), null, this.uri) { Name = "a" }; var groupRow1 = new ParameterGroupRowViewModel(group1, this.session.Object, null); var group2 = new ParameterGroup(Guid.NewGuid(), null, this.uri) { Name = "b" }; var groupRow2 = new ParameterGroupRowViewModel(group2, this.session.Object, null); var usage1 = this.elementUsage.Clone(false); usage1.Name = "def"; var usageRow1 = new ElementUsageRowViewModel(usage1, this.option, this.session.Object, null); var usage2 = this.elementUsage.Clone(false); usage2.Name = "abc"; var usageRow2 = new ElementUsageRowViewModel(usage2, this.option, this.session.Object, null); var usage3 = this.elementUsage.Clone(false); usage3.Name = "ghi"; var usageRow3 = new ElementUsageRowViewModel(usage3, this.option, this.session.Object, null); list.SortedInsert(usageRow1, comparer); list.SortedInsert(usageRow3, comparer); list.SortedInsert(parameterRow1, comparer); list.SortedInsert(groupRow1, comparer); list.SortedInsert(parameterRow2, comparer); list.SortedInsert(groupRow2, comparer); list.SortedInsert(usageRow2, comparer); Assert.AreSame(parameterRow1, list[0]); Assert.AreSame(parameterRow2, list[1]); Assert.AreSame(groupRow1, list[2]); Assert.AreSame(groupRow2, list[3]); Assert.AreSame(usageRow2, list[4]); Assert.AreSame(usageRow1, list[5]); Assert.AreSame(usageRow3, list[6]); }