示例#1
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);
        }
示例#2
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
        }
示例#3
0
        public void ConvertToJsonTest()
        {
            var midiNoteFactory = IMidiNoteOnFactory.Default;
            var midiCcFactory   = IMidiControlChangeFactory.Default;
            var midiPcFactory   = IMidiProgramChangeFactory.Default;

            var articulation = TestDataGenerator.CreateArticulation(
                new List <MidiNoteOn> {
                midiNoteFactory.Create(1, 23)
            },
                new List <MidiControlChange> {
                midiCcFactory.Create(2, 34)
            },
                new List <MidiProgramChange> {
                midiPcFactory.Create(3, 45)
            }
                );

            var entity = TestDataGenerator.CreateKeySwitch(articulation);

            var translator = new KeySwitchToJsonModel();
            var json       = translator.Translate(entity);

            var translator2 = new JsonModelToKeySwitch();
            var cmp         = translator2.Translate(json);

            Assert.AreEqual(entity, cmp);

            Console.WriteLine(json);
        }
示例#4
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);
            }
        }
示例#5
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());
        }
示例#6
0
        public void TranslateTest()
        {
            var translator   = new KeySwitchToStudioOneKeySwitchModel();
            var articulation = TestDataGenerator.CreateArticulation(
                new MidiNoteOn[] { IMidiNoteOnFactory.Default.Create(1, 23) },
                new MidiControlChange[] {},
                new MidiProgramChange[] {}
                );
            var entity = TestDataGenerator.CreateKeySwitch(articulation);
            var xml    = translator.Translate(entity);

            Console.Out.WriteLine(xml);
        }
示例#7
0
        public void ConvertTest()
        {
            var articulation = TestDataGenerator.CreateArticulation(
                new List <MidiNoteOn>
            {
                IMidiNoteOnFactory.Default.Create(10, 20)
            },
                new List <MidiControlChange> {
            },
                new List <MidiProgramChange> {
            }
                );

            var entity     = TestDataGenerator.CreateKeySwitch(articulation);
            var translator = new KeySwitchToVstExpressionMapModel();
            var text       = translator.Translate(entity);

            Console.WriteLine(text);
        }
示例#8
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);
            }
        }