|
|
@@ -62,5 +62,21 @@ namespace IvfTl.ControlHost.Tests
|
|
|
Assert.IsType<string>(r.Result);
|
|
|
Assert.False(string.IsNullOrEmpty((string)r.Result));
|
|
|
}
|
|
|
+
|
|
|
+ [Fact]
|
|
|
+ public void Acquire_CultivationProviderThrows_DoesNotBlockAcquire()
|
|
|
+ {
|
|
|
+ var gate = new FakeGate(6, new FakeSerial());
|
|
|
+ // 业务红线:取培养态炸了也绝不能阻断借用本身(锁死 Acquire 里的 try-catch 兜底语义)
|
|
|
+ var mgr = NewMgr(gate, sn => throw new Exception("模拟取培养态失败"));
|
|
|
+
|
|
|
+ var r = mgr.Acquire(6);
|
|
|
+
|
|
|
+ Assert.True(r.Ok); // 借用仍成功
|
|
|
+ Assert.False(r.Cultivating); // 兜底为默认 false
|
|
|
+ Assert.Equal(0, r.EmbryoCount); // 兜底为默认 0
|
|
|
+ Assert.IsType<string>(r.Result);
|
|
|
+ Assert.False(string.IsNullOrEmpty((string)r.Result));
|
|
|
+ }
|
|
|
}
|
|
|
}
|