コード例 #1
0
        public void TestPositiveDoubling()
        {
            var inputA = new AlgorithmDebuggingInitialValueDelegate
            {
                GetValueForPosition = (x, y, z, i, j, k) => { return 1; },
                ShowAs2D = true
            };

            int computations;
            var increment = new AlgorithmIncrementWaterDistance();

            var runtimeInput = this.CreateRuntimeLayer(inputA);
            var runtimeTest = this.CreateRuntimeLayer(increment);
            runtimeTest.SetInput(0, runtimeInput);

            var result = runtimeTest.GenerateData(0, 0, 0, 16, 16, 16, out computations);

            for (var i = 0; i < 16; i++)
                for (var j = 0; j < 16; j++)
                    for (var k = 0; k < 16; k++)
                    {
                        Assert.True(
                            result[i + j*16 + k*16*16] == 2);
                    }
        }
コード例 #2
0
        public void TestPositiveDoubling()
        {
            var inputA = new AlgorithmDebuggingInitialValueDelegate
            {
                GetValueForPosition = (x, y, z, i, j, k) =>
                {
                    return((int)(1));
                }
            };

            int computations;
            var increment = new AlgorithmIncrementWaterDistance();

            var runtimeInput = new RuntimeLayer(inputA);
            var runtimeTest  = new RuntimeLayer(increment);

            runtimeTest.SetInput(0, runtimeInput);

            var result = runtimeTest.GenerateData(0, 0, 0, 16, 16, 16, out computations);


            for (var i = 0; i < 16; i++)
            {
                for (var j = 0; j < 16; j++)
                {
                    for (var k = 0; k < 16; k++)
                    {
                        Assert.True(
                            result[i + j * 16 + k * 16 * 16] == 2);
                    }
                }
            }
        }