예제 #1
0
        public void RemoveTest()
        {
            var repository = new LiteDbKeySwitchRepository(new MemoryStream());
            var record     = TestDataGenerator.CreateKeySwitch();

            #region Delete by Id
            repository.Save(record);
            Assert.AreEqual(1, repository.Count());

            repository.Delete(record.Id);
            Assert.AreEqual(0, repository.Count());
            #endregion

            #region Delete by DeveloperName and ProductName
            repository.Save(record);
            Assert.AreEqual(1, repository.Count());

            repository.Delete(record.DeveloperName, record.ProductName);
            Assert.AreEqual(0, repository.Count());
            #endregion

            #region Delete All
            repository.Save(record);
            Assert.AreEqual(1, repository.Count());

            repository.DeleteAll();
            Assert.AreEqual(0, repository.Count());
            #endregion
        }
예제 #2
0
        public void AddTest()
        {
            var repository   = new LiteDbKeySwitchRepository(new MemoryStream());
            var articulation = TestDataGenerator.CreateArticulation(
                new List <MidiNoteOn>()
            {
                new MidiNoteOn(new MidiStatus(MidiStatusHelper.NoteOn), new MidiNoteNumber(1), new MidiVelocity(100))
            },
                new List <MidiControlChange>(),
                new List <MidiProgramChange>()
                );
            var record = TestDataGenerator.CreateKeySwitch(articulation);

            var result = repository.Save(record);

            Assert.AreEqual(1, result.Inserted);

            var seq = repository.Find(record.ProductName);
            var cmp = seq.First();

            Assert.AreEqual(record, cmp);

            seq = repository.Find(record.DeveloperName);
            cmp = seq.First();
            Assert.AreEqual(record, cmp);

            seq = repository.Find(record.ProductName);
            cmp = seq.First();
            Assert.AreEqual(record, cmp);

            seq = repository.Find(record.DeveloperName, record.ProductName, record.InstrumentName);
            cmp = seq.First();
            Assert.AreEqual(record, cmp);
        }
예제 #3
0
        public void ExportTest()
        {
            #region Adding To DB
            var dbRepository = new LiteDbKeySwitchRepository(new MemoryStream());
            var articulation = TestDataGenerator.CreateArticulation(
                new MidiNoteOn[] { IMidiNoteOnFactory.Default.Create(1, 23) },
                new MidiControlChange[] {},
                new MidiProgramChange[] {}
                );
            var entity = TestDataGenerator.CreateKeySwitch(articulation);
            dbRepository.Save(entity);
            #endregion

            var inputData  = new ExportingStudioOneKeySwitchRequest(entity.DeveloperName.Value, entity.ProductName.Value);
            var interactor = new ExportingStudioOneKeySwitchInteractor(
                dbRepository,
                new KeySwitchToStudioOneKeySwitchModel(),
                new IExportingStudioOneKeySwitchPresenter.Null()
                );

            var response = interactor.Execute(inputData);

            foreach (var i in response.Elements)
            {
                Console.WriteLine($"Expressionmap of {i.KeySwitch.InstrumentName}");
                Console.WriteLine(i.XmlText);
            }
        }
예제 #4
0
        public void RemovingTest()
        {
            const string developerName  = "Developer";
            const string productName    = "Product";
            const string instrumentName = "E.Guitar";

            var inputData = new RemovingRequest(
                developerName,
                productName,
                instrumentName
                );

            var presenter  = new IRemovingPresenter.Console();
            var repository = new LiteDbKeySwitchRepository(new MemoryStream());
            var interactor = new RemovingInteractor(repository, presenter);

            #region Adding Test data for removing
            var now    = DateTime.Now;
            var entity = TestDataGenerator.CreateKeySwitch(inputData.DeveloperName, inputData.ProductName);

            repository.Save(entity);
            #endregion
            Assert.AreEqual(1, repository.Count());

            interactor.Execute(inputData);

            Assert.AreEqual(0, repository.Count());
        }
예제 #5
0
        public void ExportTest()
        {
            #region Insert new keyswitch to db
            var memoryDb     = new MemoryStream();
            var dbRepository = new LiteDbKeySwitchRepository(memoryDb);

            var entity = IKeySwitchFactory.Default.Create(
                Guid.NewGuid(),
                "Author",
                "Description",
                DateTime.Now,
                DateTime.Now,
                "Developer Name",
                "Product name",
                "Instrument name",
                new List <Articulation>
            {
                IArticulationFactory.Default.Create(
                    "name",
                    new List <IMidiMessage> {
                    IMidiNoteOnFactory.Default.Create(0, 100)
                },
                    new List <IMidiMessage> {
                    IMidiControlChangeFactory.Default.Create(1, 100)
                },
                    new List <IMidiMessage> {
                    IMidiProgramChangeFactory.Default.Create(2, 34)
                },
                    new Dictionary <string, string>
                {
                    { "extra1 key", "extra1 value" },
                    { "extra2 key", "extra2 value" },
                }
                    ),
            },
                new Dictionary <string, string>
            {
                { "extra1 key", "extra1 value" },
                { "extra2 key", "extra2 value" },
            }
                );

            dbRepository.Save(entity);
            #endregion

            var xlsxRepository = new XlsxExportingRepository(new FilePath("out.xlsx"));
            var interactor     = new ExportingXlsxInteractor(xlsxRepository);
            var response       = interactor.Execute(new ExportingXlsxRequest(new[] { entity }));

            Assert.IsTrue(response.Result);
        }
예제 #6
0
        public void ExportTest()
        {
            #region Adding To DB
            var dbRepository = new LiteDbKeySwitchRepository(new MemoryStream());
            var entity       = TestDataGenerator.CreateKeySwitch();
            dbRepository.Save(entity);
            #endregion

            var inputData  = new SearchingRequest(entity.DeveloperName.Value, entity.ProductName.Value);
            var interactor = new SearchingInteractor(
                dbRepository,
                new KeySwitchListListToJsonModelList {
                Formatted = true
            },
                new ISearchingPresenter.Console()
                );

            var response = interactor.Execute(inputData);
            Console.WriteLine(response);
        }
        public void ExportTest()
        {
            #region Adding To DB
            var dbRepository = new LiteDbKeySwitchRepository(new MemoryStream());
            var entity       = TestDataGenerator.CreateKeySwitch();
            dbRepository.Save(entity);
            #endregion

            var inputData  = new ExportingVstExpressionMapRequest(entity.DeveloperName.Value, entity.ProductName.Value);
            var interactor = new ExportingVstExpressionMapInteractor(
                dbRepository,
                new KeySwitchToVstExpressionMapModel(),
                new IExportingVstExpressionMapPresenter.Null()
                );

            var response = interactor.Execute(inputData);

            foreach (var i in response.Elements)
            {
                Console.WriteLine($"Expressionmap of {i.KeySwitch.InstrumentName}");
                Console.WriteLine(i.XmlText);
            }
        }