using Moq; using ScriptCs.Contracts; using Should; using Xunit; namespace ScriptCs.Tests { public class ScriptHostTests { public class TheGetMethod { private Mock _mockContext = new Mock(); private Mock _mockScriptPackManager = new Mock(); private ScriptHost _scriptHost; public TheGetMethod() { _scriptHost = new ScriptHost(_mockScriptPackManager.Object, new ScriptEnvironment(new string[0])); _mockScriptPackManager.Setup(s => s.Get()).Returns(_mockContext.Object); } [Fact] public void ShoulGetScriptPackFromScriptPackManagerWhenInvoked() { var result = _scriptHost.Require(); _mockScriptPackManager.Verify(s => s.Get()); } } public class TheConstructor { [Fact] public void ShouldSetScriptEnvironment() { var environment = new ScriptEnvironment(new string[0]); var scriptHost = new ScriptHost(null, environment); scriptHost.Env.ShouldEqual(environment); } } } }