public void FirstAncestorOrSelf_OnItem_OfTypeContainer_ReturnsNull() { var container = OneItemContainerPackage.CreateContainer(); var item = container.Items[0]; var ancestor = item.FirstAncestorOrSelf <ContainerNode>(_ => false); Assert.Null(ancestor); }
public void Contains_Child_ReturnsFalse() { var root = EmptyRootNode.AddLeftContainers(OneItemContainerPackage.CreateContainer()); var otherContainer = root.LeftContainers[0].WithId("other"); var contains = root.Contains(otherContainer); Assert.False(contains); }
public void Contains_Grandchild_ReturnsTrue() { var root = EmptyRootNode.AddLeftContainers(OneItemContainerPackage.CreateContainer()); var item = root.LeftContainers[0].Items[0]; var contains = root.Contains(item); Assert.True(contains); }
public void Ancestors_OnChild_ReturnsParent() { var container = OneItemContainerPackage.CreateContainer(); var ancestors = container.Items[0].Ancestors(); Assert.Collection(ancestors, x => Assert.Same(container.Items, x), x => Assert.Same(container, x)); }
public void Ancestors_OnGrandchild_ReturnsRoot() { var root = EmptyRootNode.AddLeftContainers(OneItemContainerPackage.CreateContainer()); var container = root.LeftContainers[0]; var ancestors = container.Items[0].Ancestors(); Assert.Collection(ancestors, x => Assert.Same(container.Items, x), x => Assert.Same(container, x), x => Assert.Same(root.LeftContainers, x), x => Assert.Same(root, x)); }
public void Deconstruct_ReturnsValidValues() { var container = OneItemContainerPackage.CreateContainer(); container.Deconstruct(out var id, out var name, out var items); Assert.Equal(ContainerId, id); Assert.Equal(ContainerName, name); Assert.Collection( items, x => { Assert.Equal(ItemId, x.Id); Assert.Equal(ItemName, x.Name); }); }
public void Children_OnRoot_ReturnsOnlyDirectChildren() { const string Container1Id = "container1"; const string Container2Id = "container2"; var root = EmptyRootNode .AddLeftContainers(OneItemContainerPackage.CreateContainer().WithId(Container1Id)) .AddRightContainers(OneItemContainerPackage.CreateContainer().WithId(Container2Id)); var children = root.Children(); Assert.Collection(children, x => Assert.IsType <ContainerListNode>(x), x => Assert.IsType <ContainerListNode>(x)); Assert.Collection((ContainerListNode)children.ElementAt(0), x => Assert.True(x is ContainerNode c && c.Id == Container1Id)); Assert.Collection((ContainerListNode)children.ElementAt(1), x => Assert.True(x is ContainerNode c && c.Id == Container2Id)); }