public void Ctor_AssemblyNameNull_Throw()
		{
			CustomAssert.ThrowsException<CodedArgumentNullException>(() =>
			{
				FacilityOverride fo = new FacilityOverride((AssemblyName)null, 42);
			});
		}
		public void Ctor_AssemblyNameInt_Success()
		{
			AssemblyName name = typeof(FacilityOverrideTest).GetTypeInfo().Assembly.GetName();
			FacilityOverride fo = new FacilityOverride(name, 42);
			Assert.AreEqual(name, fo.AssemblyName);
			Assert.AreEqual(42, fo.Identifier);
		}
		public void Ctor_AssemblyNameIdLessThan0_Throw()
		{
			CustomAssert.ThrowsException<CodedArgumentOutOfRangeException>(() =>
			{
				AssemblyName name = typeof(FacilityOverrideTest).GetTypeInfo().Assembly.GetName();
				FacilityOverride fo = new FacilityOverride(name, -1);
			});
		}
		public void Ctor_StringInt_Success()
		{
			AssemblyName asmblyname = typeof(FacilityOverride).GetTypeInfo().Assembly.GetName();
			string name = typeof(FacilityOverride).GetTypeInfo().Assembly.FullName;
			FacilityOverride fo = new FacilityOverride(name, 42);
			Assert.IsTrue(asmblyname.FullName == fo.AssemblyName.FullName);
			Assert.AreEqual(42, fo.Identifier);
		}
		public void GetHashCode_Success()
		{
			AssemblyName name = typeof(FacilityOverrideTest).GetTypeInfo().Assembly.GetName();
			FacilityOverride fo = new FacilityOverride(name, 42);

			Assert.IsTrue(fo.GetHashCode() != 0);
		}
		public void Equals_AssemblyNameDifferentPublicKey_False()
		{
			AssemblyName name = typeof(FacilityOverride).GetTypeInfo().Assembly.GetName();
			FacilityOverride fo = new FacilityOverride(name, 42);
			AssemblyName other = new AssemblyName();
			other.Name = name.Name;
			other.Version = name.Version;
			CloneCulture(name, other);
			byte[] buffer = new byte[8];
			Array.Copy(name.GetPublicKeyToken(), buffer, 8);
			for (int i = 0; i < (int)(buffer.Length / 2); i++)
			{
				byte b = buffer[i];
				buffer[i] = buffer[buffer.Length - i - 1];
				buffer[buffer.Length - i - 1] = b;
			}
			other.SetPublicKeyToken(buffer);

			Assert.IsFalse(fo.Equals(other));
		}
		public void Equals_AssemblyName_True()
		{
			AssemblyName name = typeof(FacilityOverride).GetTypeInfo().Assembly.GetName();
			FacilityOverride fo = new FacilityOverride(name, 42);
			AssemblyName other = new AssemblyName();
			other.Name = name.Name;
			other.Version = name.Version;
			CloneCulture(name, other);
			other.SetPublicKeyToken(name.GetPublicKeyToken());

			Assert.IsTrue(fo.Equals(other));
		}
		public void Equals_AssemblyNameDifferentVersion_False()
		{
			AssemblyName name = typeof(FacilityOverride).GetTypeInfo().Assembly.GetName();
			FacilityOverride fo = new FacilityOverride(name, 42);
			AssemblyName other = new AssemblyName();
			other.Name = name.Name;
			other.Version = new Version(name.Version.Major + 1, name.Version.Minor, name.Version.Build, name.Version.Revision);
			CloneCulture(name, other);
			other.SetPublicKeyToken(name.GetPublicKeyToken());

			Assert.IsFalse(fo.Equals(other));
		}
		public void Equals_AssemblyNameDifferentCulture_False()
		{
			AssemblyName name = typeof(FacilityOverride).GetTypeInfo().Assembly.GetName();
#if WINDOWS_DESKTOP
			name.CultureInfo = new System.Globalization.CultureInfo("de-DE");
#endif
#if WINDOWS_UWP || NETCORE
			name.CultureName = "de-DE";
#endif
			FacilityOverride fo = new FacilityOverride(name, 42);
			AssemblyName other = new AssemblyName();
			other.Name = name.Name;
			other.Version = name.Version;
#if WINDOWS_DESKTOP
			other.CultureInfo = new System.Globalization.CultureInfo("fr-FR");
#endif
#if WINDOWS_UWP || NETCORE
			other.CultureName = "fr-FR";
#endif
			other.SetPublicKeyToken(name.GetPublicKeyToken());

			Assert.IsFalse(fo.Equals(other));
		}
		public void Equals_AssemblyNameDifferentAssembly_False()
		{
			AssemblyName name = typeof(FacilityOverride).GetTypeInfo().Assembly.GetName();
			FacilityOverride fo = new FacilityOverride(name, 42);
			AssemblyName other = typeof(object).GetTypeInfo().Assembly.GetName();

			Assert.IsFalse(fo.Equals(other));
		}
		public void Equals_AssemblyNameNull_False()
		{
			AssemblyName name = typeof(FacilityOverride).GetTypeInfo().Assembly.GetName();
			FacilityOverride fo = new FacilityOverride(name, 42);
			AssemblyName other = null;

			Assert.IsFalse(fo.Equals(other));
		}
		public void Equals_ObjectObject_False()
		{
			AssemblyName name = typeof(FacilityOverride).GetTypeInfo().Assembly.GetName();
			FacilityOverride fo = new FacilityOverride(name, 42);
			object obj = new object();

			Assert.IsFalse(fo.Equals(obj));
		}
		public void Ctor_StringIdGreaterThan2047_Throw()
		{
			CustomAssert.ThrowsException<CodedArgumentOutOfRangeException>(() =>
			{
				string name = typeof(FacilityOverride).AssemblyQualifiedName;
				FacilityOverride fo = new FacilityOverride(name, 2048);
			});
		}
		public void Ctor_StringNull_Throw()
		{
			CustomAssert.ThrowsException<CodedArgumentNullException>(() =>
			{
				FacilityOverride fo = new FacilityOverride((string)null, 42);
			});
		}