protected void ConstructNonSerializableMembers() { this.sendEventsToHostTrigger = new SendMssEventsToHostTrigger(); this.paramMsgHandler = new ParameterMsgHandler(); this.dryMssEventHandler = new DryMssEventHandler(); this._dryMssEventRelay = new DryMssEventRelay(); this._wetMssEventRelay = new WetMssEventRelay(); this._hostInfoRelay = new HostInfoRelay(); this.mssEventGenrator = new MssEventGenerator(); this._mssParameters = new MssParameters(); this.msgEntryMetadataFactory = new Factory_MssMsgRangeEntryMetadata(); this.msgInfoFactory = new Factory_MssMsgInfo(); this.transformPresetMgr = new TransformPresetMgr(); this.eventLogger = new EventLogger(); }
public void Init() { this.msgProcessorMock = new Mock<IMssMsgProcessor>(); this.msgProcessorMock.Setup(processor => processor.ProcessMssMsg(It.IsAny<MssMsg>())) .Returns((MssMsg msg) => ProcessMssMsg_CopyData3(msg)); IocMgr.Kernel.Rebind<IMssMsgProcessor>().ToConstant(msgProcessorMock.Object); this.mssParameterViewerMock = new Mock<IMssParameterViewer>(); this.hostInfoRelayMock = new Mock<IHostInfoRelay>(); //Link host info member variables to hostInfoRelayMock this.hostInfoRelayMock.Setup(relay => relay.SampleRate) .Returns(() => this.host_SampleRate); this.hostInfoRelayMock.Setup(relay => relay.SampleRateIsInitialized) .Returns(() => this.host_SampleRateIsInitialized); this.hostInfoRelayMock.Setup(relay => relay.Tempo) .Returns(() => this.host_Tempo); this.hostInfoRelayMock.Setup(relay => relay.TempoIsInitialized) .Returns(() => this.host_TempoIsInitialized); this.hostInfoRelayMock.Setup(relay => relay.TimeSignatureNumerator) .Returns(() => this.host_TimeSignatureNumerator); this.hostInfoRelayMock.Setup(relay => relay.TimeSignatureDenominator) .Returns(() => this.host_TimeSignatureDenominator); this.hostInfoRelayMock.Setup(relay => relay.TimeSignatureIsInitialized) .Returns(() => this.host_TimeSignatureIsInitialized); this.hostInfoRelayMock.Setup(relay => relay.CalculatedBarZeroSampleTime) .Returns(() => this.host_CalculatedBarZeroSampleTime); this.hostInfoRelayMock.Setup(relay => relay.CalculatedBarZeroIsInitialized) .Returns(() => this.host_CalculatedBarZeroIsInitialized); this.hostInfoRelayMock.Setup(relay => relay.TransportPlaying) .Returns(() => this.host_TransportPlaying); this.hostInfoRelayMock.Setup(relay => relay.TransportPlayingIsInitialized) .Returns(() => this.host_TransportPlayingIsInitialized); this.hostInfoRelayMock.Setup(relay => relay.BarPosIsInitialized) .Returns(() => this.host_BarPosIsInitialized); InitializeHostInfo_Defaults(); this.hostInfoRelayMock.Setup(relay => relay.GetBarPosAtSampleTime(It.IsAny<long>())) .Returns((long sampleTime) => GetBarPosAtSampleTime_IncrementByOneQuarter(sampleTime)); this.dryEventRelayMock = new Mock<IDryMssEventRelay>(); //Setup ReceiveDryMssEvent() so that it adds all received events to generatedEvents. this.dryEventRelayMock.Setup(relay => relay.ReceiveDryMssEvent(It.IsAny<MssEvent>())) .Callback((MssEvent mssEvent) => generatedEventList.Add(mssEvent)); this.wetEventRelayMock = new Mock<IWetMssEventRelay>(); this.genMappingMgrMock = new Mock<IGeneratorMappingManager>(); //Link up genMappingMgrMock with genMappingEntryList; this.genMappingMgrMock.Setup(mgr => mgr.GetNumEntries()).Returns(() => this.genMappingEntryList.Count); //TODO: this should really return a deep copy of genMappingEntryList instead of a shallow copy this.genMappingMgrMock.Setup(mgr => mgr.GetCopyOfMappingEntryList()).Returns(() => new List<IGeneratorMappingEntry>(this.genMappingEntryList)); this.genMappingMgrMock.Setup(mgr => mgr.GetEntryIdList()).Returns(() => this.genMappingEntryList.Select(mappingEntry => mappingEntry.Id).ToList()); this.genMappingMgrMock.Setup(mgr => mgr.GetCopyOfMappingEntryById(It.IsAny<int>())).Returns((int id) => { var matchingEntry = this.genMappingEntryList.Find(mappingEntry => mappingEntry.Id == id); if (matchingEntry == null) { return new ReturnStatus<IGeneratorMappingEntry>(); } else { return new ReturnStatus<IGeneratorMappingEntry>(matchingEntry); } }); this.genMappingMgrMock .Setup(mgr => mgr.RunFuncOnMappingEntry(It.IsAny<int>(), It.IsAny<MappingEntryAccessor<IGeneratorMappingEntry>>())) .Returns((int id, MappingEntryAccessor<IGeneratorMappingEntry> entryAccessor) => { var matchingEntry = this.genMappingEntryList.Find(mappingEntry => mappingEntry.Id == id); if (matchingEntry == null) { return false; } else { entryAccessor(matchingEntry); return true; } }); eventGenerator = new MssEventGenerator(); eventGenerator.Init(this.hostInfoRelayMock.Object, this.wetEventRelayMock.Object, this.dryEventRelayMock.Object, this.genMappingMgrMock.Object, this.mssParameterViewerMock.Object); }