﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SceneJect.Common
{
	public abstract class DepedencyInjectionFactoryService
	{
		/// <summary>
		/// Service for resolving dependencies.
		/// </summary>
		protected IResolver resolverService { get; }

		/// <summary>
		/// Strategy for injection.
		/// </summary>
		protected IInjectionStrategy injectionStrategy { get; }

		public DepedencyInjectionFactoryService(IResolver resolver, IInjectionStrategy injectionStrat)
		{
			if (resolver == null)
				throw new ArgumentNullException(nameof(resolver), $"Provided {nameof(IResolver)} service provided is null.");

			if (injectionStrategy == null)
				throw new ArgumentNullException(nameof(injectionStrategy), $"Provided {nameof(IInjectionStrategy)} service provided is null.");

			injectionStrategy = injectionStrat;
			resolverService = resolver;
		}
	}
}

﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SceneJect.Common
{
	public abstract class DepedencyInjectionFactoryService
	{
		/// <summary>
		/// Service for resolving dependencies.
		/// </summary>
		protected IResolver resolverService { get; }

		/// <summary>
		/// Strategy for injection.
		/// </summary>
		protected IInjectionStrategy injectionStrategy { get; }

		public DepedencyInjectionFactoryService(IResolver resolver, IInjectionStrategy injectionStrat)
		{
			if (resolver == null)
				throw new ArgumentNullException(nameof(resolver), $"Provided {nameof(IResolver)} service provided is null.");

			if (injectionStrat == null)
				throw new ArgumentNullException(nameof(injectionStrat), $"Provided {nameof(IInjectionStrategy)} service provided is null.");

			injectionStrategy = injectionStrat;
			resolverService = resolver;
		}
	}
}

Fix Fault; Incorrect check in ctor
Fix Fault; Incorrect check in ctor

GameObjectFactory checked prop instead of param in ctor.
