public void WhenCallingMethodSimultaneousThenOnlyOneExecutionOfCallout()
        {
            // Arrange
            var logger        = Substitute.For <ILogger <PhotoController> >();
            var smartContract = Substitute.For <ISmartContract>();
            var ctrl          = new PhotoController(logger, smartContract);
            var url           = "https://blockathon.blob.core.windows.net/kentekens/kenteken.jpg";

            // Act
            ctrl.AnalyzePhoto(url);
            ctrl.AnalyzePhoto(url);

            // Warning: Naive test coming up
            while (ctrl.IsBusy)
            {
                Thread.Sleep(1000);
            }

            // Assert
            smartContract.Received(1).Callout(Arg.Is <string>(c => c == "XK50HF"));
        }