< Summary

Class:DCL.Tests.PlatformContextFactory
Assembly:TestEnvironment
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Environment/TestEnvironment/PlatformContextFactory.cs
Covered lines:24
Uncovered lines:15
Coverable lines:39
Total lines:115
Line coverage:61.5% (24 of 39)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
CreateMocked()0%110100%
CreateWithGenericMocks(...)0%26.1211050%
CreateWithCustomMocks(...)0%10100100%
GetWebRequestControllerMock()0%110100%
GetServiceProvidersMock()0%110100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Environment/TestEnvironment/PlatformContextFactory.cs

#LineLine coverage
 1using DCL.Rendering;
 2using NSubstitute;
 3
 4namespace DCL.Tests
 5{
 6    public static class PlatformContextFactory
 7    {
 98        public static PlatformContext CreateMocked() { return CreateWithCustomMocks(); }
 9
 10        public static PlatformContext CreateWithGenericMocks(params object[] mocks)
 11        {
 512            IMemoryManager memoryManager = Substitute.For<IMemoryManager>();
 513            ICullingController cullingController = Substitute.For<ICullingController>();
 514            IParcelScenesCleaner parcelScenesCleaner = Substitute.For<IParcelScenesCleaner>();
 515            IClipboard clipboard = Substitute.For<IClipboard>();
 516            IPhysicsSyncController physicsSyncController = Substitute.For<IPhysicsSyncController>();
 517            IDebugController debugController = Substitute.For<IDebugController>();
 518            IWebRequestController webRequest = Substitute.For<IWebRequestController>();
 519            IServiceProviders serviceProviders = Substitute.For<IServiceProviders>();
 520            IIdleChecker idleChecker = Substitute.For<IIdleChecker>();
 21
 2022            foreach ( var mock in mocks)
 23            {
 24                switch ( mock )
 25                {
 26                    case ICullingController cc:
 027                        cullingController = cc;
 028                        break;
 29                    case IMemoryManager mm:
 030                        memoryManager = mm;
 031                        break;
 32                    case IClipboard c:
 033                        clipboard = c;
 034                        break;
 35                    case IPhysicsSyncController psc:
 036                        physicsSyncController = psc;
 037                        break;
 38                    case IParcelScenesCleaner pscc:
 039                        parcelScenesCleaner = pscc;
 040                        break;
 41                    case IDebugController dc:
 042                        debugController = dc;
 043                        break;
 44                    case IWebRequestController wrc:
 545                        webRequest = wrc;
 546                        break;
 47                    case IServiceProviders sp:
 048                        serviceProviders = sp;
 049                        break;
 50                    case IIdleChecker idl:
 051                        idleChecker = idl;
 52                        break;
 53                }
 54            }
 55
 556            return new PlatformContext(memoryManager,
 57                cullingController,
 58                clipboard,
 59                physicsSyncController,
 60                parcelScenesCleaner,
 61                debugController,
 62                webRequest,
 63                serviceProviders,
 64                idleChecker);
 65        }
 66
 67        public static PlatformContext CreateWithCustomMocks(
 68            IMemoryManager memoryManager = null,
 69            ICullingController cullingController = null,
 70            IClipboard clipboard = null,
 71            IPhysicsSyncController physicsSyncController = null,
 72            IParcelScenesCleaner parcelScenesCleaner = null,
 73            IDebugController debugController = null,
 74            IWebRequestController webRequestController = null,
 75            IServiceProviders serviceProviders = null,
 76            IIdleChecker idleChecker = null)
 77        {
 1278            return new PlatformContext(
 79                memoryManager: memoryManager ?? Substitute.For<IMemoryManager>(),
 80                cullingController: cullingController ?? Substitute.For<ICullingController>(),
 81                clipboard: clipboard ?? Substitute.For<IClipboard>(),
 82                physicsSyncController: physicsSyncController ?? Substitute.For<IPhysicsSyncController>(),
 83                parcelScenesCleaner: parcelScenesCleaner ?? Substitute.For<IParcelScenesCleaner>(),
 84                debugController: debugController ?? Substitute.For<IDebugController>(),
 85                webRequest: webRequestController ?? GetWebRequestControllerMock(),
 86                serviceProviders: serviceProviders ?? GetServiceProvidersMock(),
 87                idleChecker: idleChecker ?? Substitute.For<IIdleChecker>());
 88        }
 89
 90        private static IWebRequestController GetWebRequestControllerMock()
 91        {
 992            IWebRequestController webRequestControllerMock = Substitute.For<IWebRequestController>();
 993            webRequestControllerMock.Initialize(
 94                genericWebRequest: Substitute.For<IWebRequest>(),
 95                assetBundleWebRequest: Substitute.For<IWebRequestAssetBundle>(),
 96                textureWebRequest: Substitute.For<IWebRequest>(),
 97                audioWebRequest: Substitute.For<IWebRequestAudio>());
 98
 999            return webRequestControllerMock;
 100        }
 101
 102        private static IServiceProviders GetServiceProvidersMock()
 103        {
 12104            IServiceProviders serviceProviders = Substitute.For<IServiceProviders>();
 105
 12106            ITheGraph theGraph = Substitute.For<ITheGraph>();
 12107            serviceProviders.theGraph.Returns(theGraph);
 108
 12109            ICatalyst catalyst = Substitute.For<ICatalyst>();
 12110            serviceProviders.catalyst.Returns(catalyst);
 111
 12112            return serviceProviders;
 113        }
 114    }
 115}