Example #1
0
        public void CollectionForm_GetService_InvokeWithoutContext_ReturnsNull(Type serviceType)
        {
            var editor = new SubCollectionEditor(serviceType);
            var form   = new SubCollectionForm(editor);

            Assert.Null(form.GetService(serviceType));
        }
Example #2
0
        public void CollectionForm_GetService_WithContext_CallsContextGetService(Type serviceType)
        {
            var mockEditorService = new Mock <IWindowsFormsEditorService>(MockBehavior.Strict);

            mockEditorService
            .Setup(s => s.ShowDialog(It.IsAny <Form>()))
            .Returns(DialogResult.OK);

            var mockServiceProvider = new Mock <IServiceProvider>(MockBehavior.Strict);

            mockServiceProvider
            .Setup(p => p.GetService(typeof(IWindowsFormsEditorService)))
            .Returns(mockEditorService.Object);

            var result      = new object();
            var mockContext = new Mock <ITypeDescriptorContext>(MockBehavior.Strict);

            mockContext
            .Setup(c => c.GetService(typeof(IDesignerHost)))
            .Returns(null);
            mockContext
            .Setup(c => c.GetService(typeof(AmbientProperties)))
            .Returns(null);
            mockContext
            .Setup(c => c.GetService(typeof(IComponentChangeService)))
            .Returns(null);
            mockContext
            .Setup(c => c.GetService(serviceType))
            .Returns(result);

            var editor = new SubCollectionEditor(typeof(List <int>));
            var value  = new object();

            Assert.Same(value, editor.EditValue(mockContext.Object, mockServiceProvider.Object, value));
            Assert.Same(mockContext.Object, editor.Context);

            var form = new SubCollectionForm(editor);

            Assert.Same(result, form.GetService(serviceType));
        }