private void VerifyWriteTreeWithHeight1(IDataNode node, TreeWithHeight1.Class value) { node.Write(binaryWriter, value); (node.Edges[0].ChildNode as IDataNode).Write(binaryWriter, value.Int); (node.Edges[1].ChildNode as IDataNode).Write(binaryWriter, value.Float); (node.Edges[2].ChildNode as IDataNode).Write(binaryWriter, value.Byte); }
private void SetupTreeWithHeight1(IDataNode node, TreeWithHeight1.Class expected, params TreeWithHeight1.Class[] otherExpected) { node.Read(binaryReader).Returns(_ => new TreeWithHeight1.Class()); void setupDataNode(IDataNode dataNode, Func <TreeWithHeight1.Class, object> valueExtractor) { dataNode.Read(binaryReader).Returns(valueExtractor(expected), otherExpected.Select(e => valueExtractor(e)).ToArray()); } setupDataNode(dataNode: node.Edges[0].ChildNode as IDataNode, valueExtractor: e => e.Int); setupDataNode(dataNode: node.Edges[1].ChildNode as IDataNode, valueExtractor: e => e.Float); setupDataNode(dataNode: node.Edges[2].ChildNode as IDataNode, valueExtractor: e => e.Byte); }
public void Test_Writing_An_Instance_Of_A_Tree_With_Height_1() { IDataNode rootNode = TreeWithHeight1.Build(); TreeWithHeight1.Class value = new TreeWithHeight1.Class { Int = 1, Float = 2.5f, Byte = 3 }; treeWriter.Write(binaryWriter, value, rootNode) .Should() .BeEmpty(); Received.InOrder(() => VerifyWriteTreeWithHeight1(rootNode, value)); }
public void Test_Reading_An_Instance_Of_A_Tree_With_Height_1() { IDataNode rootNode = TreeWithHeight1.Build(); TreeWithHeight1.Class expected = new TreeWithHeight1.Class { Int = 1, Float = 2.5f, Byte = 3 }; SetupTreeWithHeight1(rootNode, expected); object result = treeReader.Read(binaryReader, rootNode); Received.InOrder(() => VerifyReadTreeWithHeight1(rootNode)); result.Should().BeEquivalentTo(expected); }