public void ToString_ShouldWorkAsExpected(string icaoCodeString)
        {
            //Act
            IcaoCode icaoCode1 = new IcaoCode(icaoCodeString);

            //Assert
            icaoCode1.ToString().Should().Contain(icaoCodeString);
        }
        public void Constructor_WithValidParameters_ShouldCounstruct(string icaoCodeString)
        {
            //Act
            IcaoCode icaoCode = new IcaoCode(icaoCodeString);

            //Assert
            icaoCode.Code.Should().Be(icaoCodeString);
        }
        public void Equals_WithEqualObjects_ShouldWorkAsExpected(string icaoCodeString)
        {
            //Act
            IcaoCode icaoCode1 = new IcaoCode(icaoCodeString);
            IcaoCode icaoCode2 = new IcaoCode(icaoCodeString);

            //Assert
            icaoCode1.Should().Be(icaoCode2);
        }
        public void Equals_WithOneNullObject_ShouldWorkAsExpected(string icaoCodeString)
        {
            //Act
            IcaoCode icaoCode1 = new IcaoCode(icaoCodeString);
            IcaoCode icaoCode2 = null;

            bool result = icaoCode1.Equals(icaoCode2);

            result.Should().BeFalse();
        }
        public void GetHashCode_WithEqualObjects_ShouldWorkAsExpected(string icaoCodeString)
        {
            //Act
            IcaoCode icaoCode1 = new IcaoCode(icaoCodeString);
            IcaoCode icaoCode2 = new IcaoCode(icaoCodeString);

            int icaoCode1HashCode = icaoCode1.GetHashCode();
            int icaoCode2HashCode = icaoCode2.GetHashCode();

            //Assert
            icaoCode1HashCode.Should().Be(icaoCode2HashCode);
        }