public void Test_Adding_A_Null_Entry_To_A_List() { IListNode listNode = BuildStringListNode(); Action action = () => listNode.AddListEntry(new List <string>(), null); action.Should() .ThrowArgumentNullException("value"); }
public void Test_Adding_An_Entry_To_A_Null_List() { IListNode listNode = BuildStringListNode(); Action action = () => listNode.AddListEntry(null, string.Empty); action.Should() .ThrowArgumentNullException("list"); }
public void Test_Adding_An_Element_To_A_List_Of_Incorrect_Type() { IList <int> list = new List <int>(); IListNode listNode = BuildStringListNode(); Action action = () => listNode.AddListEntry(list, string.Empty); action.Should() .ThrowExactly <ArgumentException>() .WithMessage($"List argument is of type {list.GetType().Name} which should " + $"implement {typeof(IList<string>).Name} but doesn't."); }
public void Test_Adding_An_Entry_To_A_List() { IList <string> list = new List <string>(); IListNode listNode = BuildStringListNode(); string value = "value"; listNode.AddListEntry(list, value); list.Should().HaveCount(1); list[0].Should().BeSameAs(value); }
public void Test_Adding_An_Element_Of_Invalid_Type_To_A_List() { IList <string> list = BuildStringList(); IListNode listNode = BuildStringListNode(); int value = 1; Action action = () => listNode.AddListEntry(list, value); action.Should() .ThrowExactly <ArgumentException>() .WithMessage($"Value should be of type {typeof(string).Name}, " + $"but is of type {value.GetType().Name} instead."); }
private void SetupAddEntry(IListNode node) { // Setup in this convoluted way so the "list" variable // is different everytime "AddListEntry" is called // otherwise "list" will be the same for different calls void setup() { IList <T> list = default(IList <T>); node.AddListEntry( Arg.Do <IList <T> >(val => list = val), Arg.Do <T>(entry => list.Add(entry)) ); } setup(); }
private object ProcessListNode(IBinaryReader binaryReader, IListNode listNode) { int count = listNode.ReadEntryCount(binaryReader); uint offset = listNode.ReadOffset(binaryReader); object list = listNode.CreateList(); if (count != 0) { binaryReader.DoAtPosition(offset, () => { for (int n = 0; n < count; ++n) { object entry = ProcessDataNode(binaryReader, listNode.ChildNode); listNode.AddListEntry(list, entry); } }); } return(list); }