public int Execute(ICommandOption opt) { var option = (CommandOption)opt; using var repository = new LiteDbKeySwitchRepository(option.DatabasePath); var translator = new JsonModelListToKeySwitchList(); var presenter = new IImportingTextPresenter.Console(); var interactor = new ImportingJsonInteractor(repository, translator, presenter); var input = new ImportingTextRequest(File.ReadAllText(option.InputPath)); _ = interactor.Execute(input); return(0); }
public void ImportTest() { var jsonText = "[{\"id\":\"419db555-cc1d-405c-8b28-281ded630a45\",\"author\":\"Author\",\"description\":\"Description\",\"created\":\"2020-09-15T16:21:11.354Z\",\"last_updated\":\"2020-09-15T16:21:11.354Z\",\"developer_name\":\"DeveloperName\",\"product_name\":\"ProductName\",\"instrument_name\":\"E.Guitar\",\"articulation\":[{\"articulation_name\":\"Power Chord\",\"articulation_type\":1,\"articulation_group\":0,\"articulation_color\":0,\"midi_message\":{\"note_on\":[],\"control_change\":[],\"program_change\":[]}}]}]"; var dbRepository = new LiteDbKeySwitchRepository(new MemoryStream()); var inputData = new ImportingTextRequest(jsonText); var translator = new JsonModelListToKeySwitchList(); var interactor = new ImportingJsonInteractor( dbRepository, translator, new IImportingTextPresenter.Console() ); interactor.Execute(inputData); var entities = dbRepository.Find(new DeveloperName("DeveloperName")); var cmp = translator.Translate(inputData.JsonText); var keySwitches = entities.ToList(); var cmpList = cmp.ToList(); Assert.AreEqual(keySwitches.Count(), cmpList.Count()); Assert.AreEqual(keySwitches.First(), cmpList.First()); }