private void CreateDriveType() { if (DriveType == null && DriveTypeDiscriminator != null && VerificationTest != null) { switch (DriveTypeDiscriminator) { case "Rotary": DriveType = new RotaryDrive(this.VerificationTest.Instrument); break; case "Mechanical": DriveType = new MechanicalDrive(this.VerificationTest.Instrument); AppliedInput = DriveType.MaxUnCorrected(); break; default: throw new NotSupportedException($"Drive type {DriveTypeDiscriminator} is not supported."); } } }
public static async Task <MechanicalTestManager> Create(IUnityContainer container, EvcCommunicationClient commClient) { await commClient.Connect(); var itemValues = await commClient.GetItemValues(commClient.ItemDetails.GetAllItemNumbers()); await commClient.Disconnect(); var instrument = new Instrument(InstrumentType.MiniAT, itemValues); var driveType = new MechanicalDrive(instrument); CreateVerificationTests(instrument, driveType); var volumeTest = instrument.VolumeTest; var volumeManager = new MechanicalVolumeVerification(container.Resolve <IEventAggregator>(), volumeTest, commClient); var manager = new MechanicalTestManager(container, instrument, commClient, volumeManager, null); container.RegisterInstance <TestManager>(manager); return(manager); }