| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- using System;
- using System.Collections.Generic;
- using IvfTl.Hardware;
- namespace IvfTl.ControlHost.Tests.Fakes
- {
- public class FakeSerial : ISerialChannel
- {
- public List<string> Calls = new List<string>();
- public bool IsOpen => true;
- public string PortName => "COMTEST";
- public Action<string> Log { get; set; }
- public int MoveReadTimeoutMs { get; set; }
- public int QueryReadTimeoutMs { get; set; }
- public int MotorSettleMs { get; set; }
- public bool Open() { Calls.Add("Open"); return true; }
- public void Close() => Calls.Add("Close");
- public byte[] SendWait(byte[] f, int e = 0) { Calls.Add("SendWait"); return null; }
- public int ShakeHandsWait() { Calls.Add("ShakeHands"); return 5; }
- public int ReadCcdSnWait() => -1;
- public int ReadLightBrightnessWait() { Calls.Add("ReadLight"); return 500; }
- public int ReadWellHorizontalPosWait(int w) => -1;
- public int ReadWellFocusZeroWait(int w) => -1;
- public int ReadScanStepWait() => -1;
- public bool WriteWellHorizontalPosWait(int well, int p) { Calls.Add($"WriteWellHor({well},{p})"); return true; }
- public bool WriteScanStepWait(int p) { Calls.Add($"WriteScanStep({p})"); return true; }
- public bool WriteOpenIntakeTimeWait(int v, bool b = false) { Calls.Add($"WriteIntake({v})"); return true; }
- public bool WriteOpenVentTimeWait(int v) { Calls.Add($"WriteVent({v})"); return true; }
- public int ReadOpenVentTimeWait() { Calls.Add("ReadVent"); return 200; }
- public bool WriteLightBrightnessWait(int v) { Calls.Add($"WriteLight({v})"); return true; }
- public bool VerticalMoveToWait(int p, int d = -1) { Calls.Add($"VMoveTo({p})"); return true; }
- public bool VerticalForwardWait(int p, int d = -1) { Calls.Add($"VFwd({p})"); return true; }
- public bool VerticalBackwardWait(int p, int d = -1) { Calls.Add($"VBack({p})"); return true; }
- public bool VerticalResetWait(int d = -1) { Calls.Add("VReset"); return true; }
- public int ReadVerticalPositionWait() => 0;
- public bool HorizontalMoveToWait(int p, int d = -1) { Calls.Add($"HMoveTo({p})"); return true; }
- public bool HorizontalForwardWait(int p, int d = -1) { Calls.Add($"HFwd({p})"); return true; }
- public bool HorizontalBackwardWait(int p, int d = -1) { Calls.Add($"HBack({p})"); return true; }
- public bool HorizontalResetWait(int d = -1) { Calls.Add("HReset"); return true; }
- public int ReadHorizontalPositionWait() => 0;
- public decimal TemperatureWait() { Calls.Add("Temp"); return 37.0m; }
- public decimal ShangTemperatureWait() => 37.0m;
- public decimal BoLiTemperatureWait() => 37.0m;
- public decimal PressureWait() { Calls.Add("Pressure"); return 1.0m; }
- public (decimal, decimal, decimal) BufferBottleStateWait() => (1m, 37m, 37m);
- public DoorState DoorStatusWait() { Calls.Add("Door"); return DoorState.关闭; }
- public bool OpenLedWait() { Calls.Add("OpenLed"); return true; }
- public bool CloseLedWait() { Calls.Add("CloseLed"); return true; }
- public bool OpenIntakeValveWait() { Calls.Add("OpenIntake"); return true; }
- public bool CloseIntakeValveWait() { Calls.Add("CloseIntake"); return true; }
- public bool OpenExhaustValveWait() { Calls.Add("OpenExhaust"); return true; }
- public bool CloseExhaustValveWait() { Calls.Add("CloseExhaust"); return true; }
- public bool HouseAerationWait() { Calls.Add("Aeration"); return true; }
- public bool HouseVentWait() { Calls.Add("Vent"); return true; }
- public bool BufferBottleAerationWait() => true;
- public bool AutoAirSwapWait(bool on) => true;
- public object RawComBin => null;
- public void Dispose() => Calls.Add("Dispose");
- }
- public class FakeLease : IHardwareLease
- {
- public HardwareUser Owner { get; }
- public ISerialChannel Serial { get; }
- public ICamera Camera => null;
- public bool Disposed;
- public FakeLease(ISerialChannel s, HardwareUser u) { Serial = s; Owner = u; }
- public void Dispose() => Disposed = true;
- }
- public class FakeGate : IHouseGate
- {
- private readonly ISerialChannel _serial;
- public bool CanAcquire = true;
- public FakeLease LastLease;
- public FakeGate(int sn, ISerialChannel s) { HouseSn = sn; _serial = s; }
- public int HouseSn { get; }
- public bool IsCapturePaused { get; private set; }
- #pragma warning disable 67
- public event Action OnPauseCapture;
- public event Action OnResumeCapture;
- #pragma warning restore 67
- public IHardwareLease Acquire(HardwareUser u, int t = 30000)
- {
- if (!CanAcquire) return null;
- IsCapturePaused = true;
- LastLease = new FakeLease(_serial, u);
- return LastLease;
- }
- public bool TryAcquire(HardwareUser u, out IHardwareLease l) { l = Acquire(u); return l != null; }
- public void PauseCapture() => IsCapturePaused = true;
- public void ResumeCapture() => IsCapturePaused = false;
- }
- }
|