public async void ShouldGetANewJobOnDifferentBlocktemplates() { var counter = 0; _daemon.ExecuteCommandAsync <GetBlockTemplateResponse>(MoneroRpcCommands.GetBlockTemplate, Arg.Any <GetBlockTemplateRequest>()) .ReturnsForAnyArgs(x => { var response = counter == 0 ? JobManagerTestsContants.DaemonResponse1088295 // response in first call. : JobManagerTestsContants.DaemonResponse1088296; // response in second call. counter++; return(response); }); // check first job. await _jobManager.JobQueue.Take(1).Do(job => { job.BlockTemplate.Blob.Should().Be("07079ccdc1d3053b4aff4fdac0424b58a69234796f1e572eea2650cb4a6c19aa03c17308d73d5b0000000002e3b64201ffa7b64201b3be90f18de9010258f3cdf062d631c578597ad4aa00bb6e99bbbdc816fa295286ea956c2d15e1cf2b0109d8ec8c47fb41668d69ef2ce3764a906285bbab66a127247f627b939380ddc7020800000000000000000000"); job.BlockTemplate.Difficulty.Should().Be(23096); job.BlockTemplate.Height.Should().Be(1088295); job.BlockTemplate.PreviousBlockhash.Should().Be("3b4aff4fdac0424b58a69234796f1e572eea2650cb4a6c19aa03c17308d73d5b"); job.BlockTemplate.ReservedOffset.Should().Be(129); job.BlockTemplate.Status.Should().Be("OK"); }); // check the second job await _jobManager.JobQueue.Take(1).Do(job => { job.BlockTemplate.Blob.Should().Be("0707b0cfc1d305a6a0d38480cde292cbcd372835fb8d57ff8285b5334c724f610599d379c5499d0000000002e4b64201ffa8b64201ee86ece98de90102d287d0af34a8c9dc624cf4a7495f673782d9a323b1d22dec71b069af84c072672b013b54f7d869b695fd5e5fa05ddf49e971f511440b86ff42ce836283d207777442020800000000000000000000"); job.BlockTemplate.Difficulty.Should().Be(23087); job.BlockTemplate.Height.Should().Be(1088296); job.BlockTemplate.PreviousBlockhash.Should().Be("a6a0d38480cde292cbcd372835fb8d57ff8285b5334c724f610599d379c5499d"); job.BlockTemplate.ReservedOffset.Should().Be(129); job.BlockTemplate.Status.Should().Be("OK"); }); }