public void GetHashCode_WithEqualObject_EqualHashes(string code)
        {
            var x = new XKPostalCode(code);
            var y = new XKPostalCode(code);

            Assert.IsTrue(x.GetHashCode() == y.GetHashCode());
        }
        public void Successor_ValidInput_ReturnsCorrectPostalCode(string postalCode, string postalCodeSuccessor)
        {
            var code          = new XKPostalCode(postalCode);
            var codeSuccessor = new XKPostalCode(postalCodeSuccessor);

            Assert.AreEqual(codeSuccessor, code.Successor);
            Assert.AreEqual(codeSuccessor.ToString(), code.Successor.ToString());
            Assert.AreEqual(codeSuccessor.ToHumanReadableString(), code.Successor.ToHumanReadableString());
        }
        public void AreAdjacent_WithAdjacentPostalCodes_ReturnsTrue(string code)
        {
            var x     = new XKPostalCode(code);
            var xPred = x.Predecessor;
            var xSucc = x.Successor;

            Assert.IsTrue(PostalCode.AreAdjacent(x, xPred));
            Assert.IsTrue(PostalCode.AreAdjacent(xPred, x));
            Assert.IsTrue(PostalCode.AreAdjacent(x, xSucc));
            Assert.IsTrue(PostalCode.AreAdjacent(xSucc, x));
            Assert.IsFalse(PostalCode.AreAdjacent(xPred, xSucc));
        }