private string GetState(IProtocolStep step, Random random) { return(step switch { AddReagent addReagent => new string( Enumerable.Range(0, 96).Select(_ => random.NextDouble() < ProbabilityOfAddReagentFailure ? 'F' : 'S').ToArray()), DistributeSample distribute => new string( Enumerable.Range(0, 96).Select(_ => random.NextDouble() < ProbabilityOfDistributeFailure ? 'F' : 'S').ToArray()), Incubate incubate => random.NextDouble() < ProbabilityOfIncubateFailure ? "F" : "S", Wash wash => random.NextDouble() < ProbabilityOfWashFailure ? "F" : "S", _ => throw new InvalidOperationException(), });
public AddReagentLiquidTransfer(ProcessColumn column, ProcessPlate plate, AddReagent addReagent) { Column = column; Plate = plate; AddReagent = addReagent; }