public void GridBlock_4MacroSetup_Fail(string addressMacro, string addressSub, string addressMicro) { var gridCuboid = new GridBlock_4MacroSetup(this, null, null, macroCols: 1, macroRows: 5, subCols: 6, subRows: 5, microCols: 6, microRows: 6); Assert.Throws <ArgumentException>(() => gridCuboid.Child_GridBlockGet(addressMacro) as GridBlock_3Macro); Assert.Throws <ArgumentException>(() => gridCuboid.Child_GridBlockSub("1.1", addressSub)); Assert.Throws <ArgumentException>(() => gridCuboid.Child_GridBlockMicro("1.1", "1.1", addressMicro)); }
public void GridBlock_4MacroSetup_Test(string addressMacro, string addressSub, string addressMicro) { int macroY, macroX; GridBlock_Methods.Address_ToXY(addressMacro, out macroY, out macroX); int subY, subX; GridBlock_Methods.Address_ToXY(addressSub, out subY, out subX); int microY, microX; GridBlock_Methods.Address_ToXY(addressMicro, out microY, out microX); var gridCuboid = new GridBlock_4MacroSetup(this, null, null, macroCols: 1, macroRows: 5, subCols: 6, subRows: 5, microCols: 6, microRows: 6); #region Cuboid Assert.Equal(5 * 6 * 5 * 6 * 6, gridCuboid.ChildCount); Assert.Equal(this, gridCuboid._Parent); Assert.Equal(enBlockType.MacroBlock, gridCuboid.ChildBlockType); Assert.Equal(1, gridCuboid.ChildDecimalPlaces); Assert.Equal(enBlockDisplayType.Name, gridCuboid.ChildDisplayType); #endregion #region Macro block var gridMacro = gridCuboid.Child_GridBlockGet(addressMacro) as GridBlock_3Macro; Assert.NotEqual(null, gridMacro); Assert.Equal(addressMacro, gridMacro._Frontend_Caption); Assert.Equal(6 * 5 * 6 * 6, gridMacro.ChildCount); Assert.Equal(gridCuboid, gridMacro._Parent); Assert.Equal(enBlockType.SubBlock, gridMacro.ChildBlockType); Assert.Equal(1, gridMacro.ChildDecimalPlaces); Assert.Equal(enBlockDisplayType.Name, gridMacro.ChildDisplayType); Assert.Equal(macroY, gridMacro.Reference_Row); Assert.Equal(macroX, gridMacro.Reference_Col); Assert.Equal(enBlockState.Unknown, gridMacro.State_Block); Assert.Equal(double.NaN, gridMacro.State_Value); #endregion #region Sub block var gridSub = gridMacro.Child_GridBlockGet(addressSub) as GridBlock_2Sub; Assert.NotEqual(null, gridSub); Assert.Equal(addressSub, gridSub._Frontend_Caption); Assert.Equal(6 * 6, gridSub.ChildCount); Assert.Equal(gridMacro, gridSub._Parent); Assert.Equal(enBlockType.MicroBlock, gridSub.ChildBlockType); Assert.Equal(1, gridSub.ChildDecimalPlaces); Assert.Equal(enBlockDisplayType.Name, gridSub.ChildDisplayType); Assert.Equal(subY, gridSub.Reference_Row); Assert.Equal(subX, gridSub.Reference_Col); Assert.Equal(enBlockState.Unknown, gridSub.State_Block); Assert.Equal(double.NaN, gridSub.State_Value); // Child_GridBlockSub var gridSub2 = gridCuboid.Child_GridBlockSub(addressMacro, addressSub); Assert.Equal(gridSub, gridSub2); #endregion #region Micro block var gridMicro = gridSub.Child_GridBlockGet(addressMicro) as GridBlock_1Micro; Assert.NotEqual(null, gridMicro); Assert.Equal(addressMicro, gridMicro._Frontend_Caption); Assert.Equal(gridSub, gridMicro._Parent); Assert.Equal(microY, gridMicro.Reference_Row); Assert.Equal(microX, gridMicro.Reference_Col); Assert.Equal(enBlockState.Unknown, gridMicro.State_Block); Assert.Equal(double.NaN, gridMicro.State_Value); // Child_GridBlockMicro var gridMicro2 = gridCuboid.Child_GridBlockMicro(addressMacro, addressSub, addressMicro); Assert.Equal(gridMicro, gridMicro2); #endregion }