예제 #1
0
        static async Task Main(string[] args)
        {
            Task allTasks = null;

            try
            {
                IInputSaver[] inputSavers = new IInputSaver[TaskConsts.STRING_QUANTITY]
                {
                    new FirstInputSaver(),
                    new SecondInputSaver(),
                    new ThirdInputSaver()
                };
                Task[]          tasks          = new Task[TaskConsts.STRING_QUANTITY];
                IInput          input          = new ConsoleInput();
                IErrorGenerator errorGenerator = new ErrorGenerator();
                for (int i = 0; i < TaskConsts.STRING_QUANTITY; i++)
                {
                    tasks[i] = inputSavers[i].InputAndWriteStringAsync(input, errorGenerator);
                }
                allTasks = Task.WhenAll(tasks);
                await allTasks;
                Console.WriteLine("Success");
            }
            catch (RandomException exception)
            {
                logger.Error(exception);
                Console.WriteLine("Failure");
            }
            finally
            {
                Console.ReadKey();
            }
        }
예제 #2
0
        public static void Save(IInputSaver inputSaver)
        {
            if (inputSaver == null)
            {
                throw new ArgumentNullException("inputSaver");
            }

            inputSaver.Save(_instance.inputConfigurations, _instance.defaultConfiguration);
            _instance.RaiseSavedEvent();
        }
예제 #3
0
 public static void Save(IInputSaver inputSaver)
 {
     if (inputSaver != null)
     {
         inputSaver.Save(m_instance.GetSaveData());
         m_instance.RaiseSavedEvent();
     }
     else
     {
         Debug.LogError("InputSaver is null. Cannot save control schemes.");
     }
 }
예제 #4
0
 public static void Save(IInputSaver inputSaver)
 {
     if (inputSaver != null)
     {
         inputSaver.Save(_instance.GetSaveParameters());
         _instance.RaiseSavedEvent();
     }
     else
     {
         Debug.LogError("InputSaver is null. Cannot save input configurations.");
     }
 }
예제 #5
0
    public async Task VerifyThrowRandomExceptionWithProbabilityOneThirdAsyncAndGetString()
    {
        IInputSaver[] inputSavers = new IInputSaver[TaskConsts.STRING_QUANTITY]
        {
            new FirstInputSaver(),
            new SecondInputSaver(),
            new ThirdInputSaver()
        };

        Task[] tasks = new Task[TaskConsts.STRING_QUANTITY];
        for (int i = 0; i < TaskConsts.STRING_QUANTITY; i++)
        {
            tasks[i] = inputSavers[i].InputAndWriteStringAsync(_moqInput.Object, _moqErrorGenerator.Object);
        }
        var   allTasks = Task.WhenAll(tasks);
        await allTasks;

        _moqErrorGenerator.Verify(m => m.ThrowRandomExceptionWithProbabilityOneThird(), Times.Exactly(3));
        _moqInput.Verify(m => m.GetString(1), Times.Once);
        _moqInput.Verify(m => m.GetString(2), Times.Once);
        _moqInput.Verify(m => m.GetString(3), Times.Once);
    }
        public static void Save(IInputSaver inputSaver)
        {
            if (inputSaver == null)
                throw new ArgumentNullException ("inputSaver");

            inputSaver.Save (_instance.inputConfigurations, _instance.defaultConfiguration);
            _instance.RaiseSavedEvent ();
        }
예제 #7
0
		public static void Save(IInputSaver inputSaver)
		{
			if(inputSaver != null)
			{
                inputSaver.Save(_instance.GetSaveParameters());
				_instance.RaiseSavedEvent();
			}
			else
			{
				Debug.LogError("InputSaver is null. Cannot save input configurations.");
			}
		}
예제 #8
0
 public static void Save(IInputSaver inputSaver)
 {
     if(inputSaver != null)
     {
         inputSaver.Save(_instance.inputConfigurations, _instance.defaultConfiguration);
         _instance.RaiseSavedEvent();
     }
     else
     {
         Debug.LogError("InputSaver is null. Cannot save input configurations.");
     }
 }