public void Contains_should_return_true_when_specified_item_exists() { LinkedObjectTestDouble dummy = new LinkedObjectTestDouble(); _list.Add(dummy); Assert.True(_list.Contains(dummy)); }
public void Remove_should_return_true_when_item_removed() { LinkedObjectTestDouble dummy = new LinkedObjectTestDouble(); _list.Add(dummy); Assert.True(_list.Remove(dummy)); }
public void Indexer_get_should_return_correct_object() { LinkedObjectTestDouble dummy = new LinkedObjectTestDouble(); _list.Add(dummy); Assert.Same(dummy, _list[0]); }
public void Insert_should_set_parent() { LinkedObjectTestDouble dummy = new LinkedObjectTestDouble(); _list.Insert(0, dummy); Assert.Same(_parent, dummy.Parent); }
public void Remove_should_return_false_when_item_is_not_removed() { LinkedObjectTestDouble dummy = new LinkedObjectTestDouble(); _list.Add(dummy); Assert.False(_list.Remove(new LinkedObjectTestDouble())); }
public void IndexOf_should_return_correct_index_when_item_does_not_exist() { LinkedObjectTestDouble dummy = new LinkedObjectTestDouble(); _list.Add(dummy); Assert.Equal(-1, _list.IndexOf(new LinkedObjectTestDouble())); }
public void CopyTo_should_copy_correct_items() { _list.AddRange(new[] { new LinkedObjectTestDouble(), new LinkedObjectTestDouble() }); LinkedObjectTestDouble[] array = new LinkedObjectTestDouble[2]; _list.CopyTo(array, 0); array.Each(item => Assert.True(_list.Contains(item))); }
public void RemoveAt_should_decrease_the_collection() { LinkedObjectTestDouble obj1 = new LinkedObjectTestDouble(); LinkedObjectTestDouble obj2 = new LinkedObjectTestDouble(); LinkedObjectTestDouble obj3 = new LinkedObjectTestDouble(); _list.AddRange(new[] { obj1, obj2, obj3 }); _list.RemoveAt(1); Assert.Equal(2, _list.Count); }
public void Index_set_should_set_parent() { LinkedObjectTestDouble obj1 = new LinkedObjectTestDouble(); _list.Add(obj1); LinkedObjectTestDouble obj2 = new LinkedObjectTestDouble(); _list[0] = obj2; Assert.Same(_parent, obj2.Parent); }
public void Index_set_should_cleanup_previous_item() { LinkedObjectTestDouble obj1 = new LinkedObjectTestDouble(); _list.Add(obj1); LinkedObjectTestDouble obj2 = new LinkedObjectTestDouble(); _list[0] = obj2; Assert.Null(obj1.Parent); Assert.Null(obj1.PreviousSibling); Assert.Null(obj1.NextSibling); }
public void RemoveAt_should_cleanup_the_removed_item() { LinkedObjectTestDouble obj1 = new LinkedObjectTestDouble(); LinkedObjectTestDouble obj2 = new LinkedObjectTestDouble(); LinkedObjectTestDouble obj3 = new LinkedObjectTestDouble(); _list.AddRange(new[] { obj1, obj2, obj3 }); _list.RemoveAt(1); Assert.Null(obj2.Parent); Assert.Null(obj2.PreviousSibling); Assert.Null(obj2.NextSibling); }
public void RemoveAt_at_the_begining_should_properly_rebuild_the_chain() { LinkedObjectTestDouble obj1 = new LinkedObjectTestDouble(); LinkedObjectTestDouble obj2 = new LinkedObjectTestDouble(); LinkedObjectTestDouble obj3 = new LinkedObjectTestDouble(); _list.AddRange(new[] { obj1, obj2, obj3 }); _list.RemoveAt(0); Assert.Null(obj2.PreviousSibling); Assert.Same(obj3, obj2.NextSibling); Assert.Same(obj2, obj3.PreviousSibling); Assert.Null(obj3.NextSibling); }
public void Indexer_set_should_properly_rebuild_the_chain() { LinkedObjectTestDouble obj1 = new LinkedObjectTestDouble(); LinkedObjectTestDouble obj2 = new LinkedObjectTestDouble(); LinkedObjectTestDouble obj3 = new LinkedObjectTestDouble(); _list.AddRange(new[] { obj1, obj2, obj3 }); LinkedObjectTestDouble obj = new LinkedObjectTestDouble(); _list[1] = obj; Assert.Null(obj1.PreviousSibling); Assert.Same(obj, obj1.NextSibling); Assert.Same(obj1, obj.PreviousSibling); Assert.Same(obj3, obj.NextSibling); Assert.Same(obj, obj3.PreviousSibling); Assert.Null(obj3.NextSibling); }
public void Add_should_maintain_proper_chain() { LinkedObjectTestDouble obj1 = new LinkedObjectTestDouble(); LinkedObjectTestDouble obj2 = new LinkedObjectTestDouble(); LinkedObjectTestDouble obj3 = new LinkedObjectTestDouble(); LinkedObjectTestDouble obj4 = new LinkedObjectTestDouble(); _list.Add(obj1); _list.Add(obj2); _list.Add(obj3); _list.Add(obj4); Assert.Null(obj1.PreviousSibling); Assert.Same(obj2, obj1.NextSibling); Assert.Same(obj1, obj2.PreviousSibling); Assert.Same(obj3, obj2.NextSibling); Assert.Same(obj2, obj3.PreviousSibling); Assert.Same(obj4, obj3.NextSibling); Assert.Same(obj3, obj4.PreviousSibling); Assert.Null(obj4.NextSibling); }
public void Insert_in_the_middle_should_properly_rebuild_the_chain() { LinkedObjectTestDouble obj1 = new LinkedObjectTestDouble(); LinkedObjectTestDouble obj2 = new LinkedObjectTestDouble(); LinkedObjectTestDouble obj3 = new LinkedObjectTestDouble(); _list.AddRange(new[] { obj1, obj2, obj3 }); LinkedObjectTestDouble obj = new LinkedObjectTestDouble(); _list.Insert(1, obj); Assert.Null(obj1.PreviousSibling); Assert.Same(obj, obj1.NextSibling); Assert.Same(obj1, obj.PreviousSibling); Assert.Same(obj2, obj.NextSibling); Assert.Same(obj, obj2.PreviousSibling); Assert.Same(obj3, obj2.NextSibling); Assert.Same(obj2, obj3.PreviousSibling); Assert.Null(obj3.NextSibling); }
public void Indexer_set_should_throw_exception_when_index_is_out_of_range() { Assert.Throws <ArgumentOutOfRangeException>(() => _list[1] = new LinkedObjectTestDouble()); }
public LinkedObjectCollectionTests() { _parent = new LinkedObjectTestDouble(); _list = new LinkedObjectCollection <LinkedObjectTestDouble>(_parent); }