public ConsoleOutput Run(ConsoleInput input) { _logRepository.Insert(new Log { InputCode = input.Code, IpAddress = GetClientIp(Request) }); //TODO: use Roslyn to compile and run var co = new Models.ConsoleOutput(); co.Code = input.Code; co.Output = CompileHelper.CompileAndRun(input.Code, input.Language); co.Id = input.Id; return co; }
public ConsoleOutput Save(ConsoleInput input) { _logRepository.Insert(new Log { InputCode = input.Code, IpAddress = GetClientIp(Request) }); string id = null; if (!string.IsNullOrEmpty(input.Id)) { var fiddle = _fiddleRepository.Get(input.Id); if (fiddle != null) id = fiddle.Id; } var co = Run(input); _fiddleRepository.Insert(new Fiddle { InputCode = input.Code, Id = id, Result = co.Output, Language = input.Language }); return co; }
public void RunHelloWorld() { // Arrange ConsoleController controller = new ConsoleController((Repos.ILogRepository)new Mock<Repos.ILogRepository>(), (Repos.IFiddleRepository)new Mock<Repos.IFiddleRepository>()); string helloWorldCode = OpenFiddle.Resources.CodeSamples.HelloWorldConsoleCSharp; ConsoleInput input= new ConsoleInput { Id = "FakeHash", Code = helloWorldCode, Language = Models.Shared.Language.CSharp }; // Act var result = controller.Run(input); // Assert Assert.IsNotNull(result); Assert.AreEqual(input.Id, result.Id); Assert.AreEqual(helloWorldCode, result.Code); Assert.AreEqual("Hello World\r\n", result.Output); }
public bool Compile(ConsoleInput input) { throw new NotImplementedException(); }