public void TestTarget(TestOperation op)
 {
     using (var sim = new CounterSimulator())
     {
         // OnLog defines action(s) performed when Q# test calls function Message
         sim.OnLog += (msg) => { output.WriteLine(msg); };
         sim.OnLog += (msg) => { Debug.WriteLine(msg); };
         op.TestOperationRunner(sim);
     }
 }
 public Allocate(CounterSimulator m) : base(m)
 {
     _sim = m;
 }
 public GetOracleCallsImpl(CounterSimulator m) : base(m)
 {
     _sim = m;
 }
 public GetMaxQubitCountImpl(CounterSimulator m) : base(m)
 {
     _sim = m;
 }
 public ResetQubitCountImpl(CounterSimulator m) : base(m)
 {
     _sim = m;
 }
 public Release(CounterSimulator m) : base(m)
 {
     _sim = m;
 }