public void should_get_node(NodeType type) { var parent = new Node { NodeType = type }; var child = new Node("hai"); parent.Add(child, x => { }); parent.GetNode("hai").ShouldEqual(child); }
public void should_add_and_get_unamed_node_on_an_array_and_variable(NodeType type) { var metadata = new Metadata(new object()); var node = new Node { NodeType = type }; node.ShouldExecuteCallback<INode>( (x, c) => node.Add(NodeType.Value, metadata, c), x => { x.IsNamed.ShouldBeFalse(); x.NodeType.ShouldEqual(NodeType.Value); x.Metadata.ShouldNotBeSameAs(metadata); x.Metadata.Get<object>().ShouldBeSameAs(metadata.Get<object>()); node.ShouldContainInstance(x); }); node.ShouldExecuteCallback<INode>( (x, c) => node.Add(NodeType.Object, metadata, c), x => { x.IsNamed.ShouldBeFalse(); x.NodeType.ShouldEqual(NodeType.Object); x.Metadata.ShouldNotBeSameAs(metadata); x.Metadata.Get<object>().ShouldBeSameAs(metadata.Get<object>()); node.ShouldContainInstance(x); }); node.ShouldExecuteCallback<INode>( (x, c) => node.Add(NodeType.Array, metadata, c), x => { x.IsNamed.ShouldBeFalse(); x.NodeType.ShouldEqual(NodeType.Array); x.Metadata.ShouldNotBeSameAs(metadata); x.Metadata.Get<object>().ShouldBeSameAs(metadata.Get<object>()); node.ShouldContainInstance(x); }); }