public void AddPort() { var request = Substitute.For <IDebugPortRequest2>(); string portName = "test port"; request.GetPortName(out string _).Returns(x => { x[0] = portName; return(VSConstants.S_OK); }); var gamelet = new Gamelet { Id = "test id" }; _gameletClient.LoadByNameOrIdAsync(portName).Returns(gamelet); var port = Substitute.For <IDebugPort2>(); _debugPortFactory.Create(gamelet, _portSupplier, _testDebugSessionId).Returns(port); Assert.AreEqual(VSConstants.S_OK, _portSupplier.AddPort(request, out IDebugPort2 debugPort)); Assert.AreEqual(port, debugPort); AssertMetricRecorded(DeveloperEventType.Types.Type.VsiGameletsGet, DeveloperEventStatus.Types.Code.Success); }