public void RemoveChild_ShouldProduceDesiredResults_ForTargetNotContainingChildNodeArgument() { // Arrange. var childNode = new TestTreeNode(); var target = new TestTreeNode(); // Act. var result = target.RemoveChild(childNode); // Assert. result.Should().BeFalse(); }
public void RemoveChild_ShouldRaiseArgumentNullException_ForNullChildNodeArgument() { // Arrange. var target = new TestTreeNode(); var childNode = (TestTreeNode)null; // Act. var action = new Action(() => { target.RemoveChild(childNode); }); // Assert. action.Should().Throw <ArgumentNullException>($"because {nameof(childNode)} is null"); }
public void RemoveChild_ShouldProduceDesiredResults_ForTargetContainingChildNodeArgument() { // Arrange. var childNode = new TestTreeNode(); var target = new TestTreeNode(0, new TestTreeNode[] { childNode }); // Act. var result = target.RemoveChild(childNode); // Assert. result.Should().BeTrue(); target.Children.Should().NotContain(childNode); childNode.Parent.Should().BeNull(); }