コード例 #1
0
        public void CallPrivateMethod_InstanceNull_ThrowArgumentNullException()
        {
            // Call
            void Call() => TypeUtils.CallPrivateMethod(null, "A");

            // Assert
            string paramName = Assert.Throws <ArgumentNullException>(Call).ParamName;

            Assert.AreEqual("instance", paramName);
        }
コード例 #2
0
        public void CallPrivateMethod_MethodNameNull_ThrowArgumentNullException()
        {
            // Setup
            var instance = new TestClass();

            // Call
            void Call() => TypeUtils.CallPrivateMethod(instance, null, 1);

            // Assert
            Assert.Throws <ArgumentNullException>(Call);
        }
コード例 #3
0
        public void CallPrivateMethod_MethodDoesNotGetEnoughArguments_ThrowArgumentException()
        {
            // Setup
            var instance = new TestClass();

            // Call
            void Call() => TypeUtils.CallPrivateMethod(instance, "PrivateMethod");

            // Assert
            Assert.Throws <TargetParameterCountException>(Call);
        }
コード例 #4
0
        public void CallPrivateMethod_MethodDoesNotExist_ThrowArgumentOutOfRangeException()
        {
            // Setup
            var instance = new TestClass();

            // Call
            void Call() => TypeUtils.CallPrivateMethod(instance, "IDontExist", 1);

            // Assert
            Assert.Throws <ArgumentOutOfRangeException>(Call);
        }
コード例 #5
0
        public void CallPrivateMethod_ValidMethod_CallWithoutExceptions()
        {
            // Setup
            var instance = new TestClass();

            // Call
            void Call() => TypeUtils.CallPrivateMethod(instance, "PrivateMethod", 1);

            // Assert
            Assert.DoesNotThrow(Call);
        }
コード例 #6
0
        public void CallPrivateMethod_MethodWithReturnValue_ReturnMethodReturnValue()
        {
            // Setup
            var instance = new TestClass();

            // Call
            var returnValue = TypeUtils.CallPrivateMethod <int>(instance, "PrivateMethod", 1);

            // Assert
            Assert.AreEqual(2, returnValue);
        }
コード例 #7
0
        public void GetNewRenderOrderShouldReturnOneMoreThenHighestRenderOrder()
        {
            var mocks = new MockRepository();

            var layer1 = mocks.Stub <ILayer>();
            var layer2 = mocks.Stub <ILayer>();
            var layer3 = mocks.Stub <ILayer>();

            mocks.ReplayAll();

            var map = new Map();

            map.Layers.AddRange(new[] { layer1, layer2, layer3 });

            layer1.RenderOrder = 1;
            layer2.RenderOrder = 3;
            layer3.RenderOrder = 5;

            var number = TypeUtils.CallPrivateMethod <int>(map, "GetNewRenderNumber");

            Assert.AreEqual(6, number);
        }
コード例 #8
0
        public void GetCoverageValues()
        {
            var rasterDataFolderPath = TestHelper.GetTestDataPath(TestDataPath.DeltaShell.DeltaShellDeltaShellPluginsSharpMapGisTestsRasterData);
            var gridFilePath         = Path.Combine(rasterDataFolderPath, "test.asc");

            var mapControl = new MapControl();
            var map        = new Map();
            var layer      = new GdalRegularGridRasterLayer(gridFilePath);

            map.Layers.Add(layer);
            mapControl.Map = map;

            var tool = mapControl.GetToolByType(typeof(QueryTool));

            mapControl.ActivateTool(tool);

            var noDataCellText = TypeUtils.CallPrivateMethod <string>(tool, "GetCoverageValues", new object[] { new Coordinate(25, 275) });

            Assert.AreEqual("image layer1 : No data\n", noDataCellText);

            var validDataCellText = TypeUtils.CallPrivateMethod <string>(tool, "GetCoverageValues", new object[] { new Coordinate(125, 125) });

            Assert.AreEqual("image layer1 : 50\n", validDataCellText);
        }
コード例 #9
0
        public void ResetRenderOrderShouldChangeLayerRenderOrder()
        {
            var mocks = new MockRepository();

            var layer1 = mocks.Stub <ILayer>();
            var layer2 = mocks.Stub <ILayer>();
            var layer3 = mocks.Stub <ILayer>();

            layer1.RenderOrder = 1;
            layer2.RenderOrder = 3;
            layer3.RenderOrder = 5;

            mocks.ReplayAll();

            var map = new Map();

            map.Layers.AddRange(new[] { layer1, layer2, layer3 });

            TypeUtils.CallPrivateMethod(map, "ResetRenderOrder", 2);

            Assert.AreEqual(2, layer1.RenderOrder);
            Assert.AreEqual(3, layer2.RenderOrder);
            Assert.AreEqual(4, layer3.RenderOrder);
        }