File: Mocks\MockSite.cs
Web Access
Project: src\src\System.Windows.Forms.Design\tests\UnitTests\System.Windows.Forms.Design.Tests.csproj (System.Windows.Forms.Design.Tests)
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
 
using System.ComponentModel.Design;
using System.ComponentModel;
using Moq;
 
namespace System.Windows.Forms.Design.Tests.Mocks
{
    public class MockSite
    {
        public static Mock<ISite> CreateMockSiteWithDesignerHost(object designerHost)
        {
            Mock<ISite> mockSite = new(MockBehavior.Strict);
            mockSite
                .Setup(s => s.GetService(typeof(IDesignerHost)))
                .Returns(designerHost);
            mockSite
                .Setup(s => s.GetService(typeof(IInheritanceService)))
                .Returns(null);
            mockSite
                .Setup(s => s.GetService(typeof(IDictionaryService)))
                .Returns(null);
            mockSite
                .Setup(s => s.GetService(typeof(IExtenderListService)))
                .Returns(null);
            mockSite
                .Setup(s => s.GetService(typeof(ITypeDescriptorFilterService)))
                .Returns(null);
            mockSite
                .Setup(s => s.GetService(typeof(AmbientProperties)))
                .Returns(null);
            mockSite
                .Setup(s => s.GetService(typeof(DesignerActionService)))
                .Returns(null);
            mockSite
                .Setup(s => s.GetService(typeof(IComponentChangeService)))
                .Returns(null);
            mockSite
                .Setup(s => s.GetService(typeof(ToolStripKeyboardHandlingService)))
                .Returns(null);
            mockSite
                .Setup(s => s.GetService(typeof(ISupportInSituService)))
                .Returns(null);
            mockSite
                .Setup(s => s.GetService(typeof(INestedContainer)))
                .Returns(null);
            mockSite
                .Setup(s => s.GetService(typeof(ToolStripMenuItem)))
                .Returns(null);
 
            Mock<IServiceProvider> mockServiceProvider = new(MockBehavior.Strict);
 
            mockSite
                .Setup(s => s.GetService(typeof(IServiceProvider)))
                .Returns(mockServiceProvider.Object);
            mockSite
                .Setup(s => s.GetService(typeof(ToolStripAdornerWindowService)))
                .Returns(null);
            mockSite
                .Setup(s => s.GetService(typeof(DesignerOptionService)))
                .Returns(mockServiceProvider.Object);
 
            Mock<ISelectionService> mockSelectionService = new(MockBehavior.Strict);
 
            mockSite
                .Setup(s => s.GetService(typeof(ISelectionService)))
                .Returns(mockSelectionService.Object);
            mockSite
                .Setup(s => s.Container)
                .Returns((IContainer)null);
            mockSite
                .Setup(s => s.Name)
                .Returns("Site");
            mockSite
                .Setup(s => s.DesignMode)
                .Returns(true);
            mockSite
                .Setup(s => s.GetService(typeof(UndoEngine)))
                .Returns(null);
 
            return mockSite;
        }
    }
}