public void DefaultValues()
        {
            var sut = new ScopedNameResolver();

            Assert.False(sut.IsExisting(TypeUnknown));
            Assert.NotNull(sut.BoundNames);
            Assert.AreNotEqual(0, sut.GetHashCode());
            Assert.AreNotEqual(1, sut.GetHashCode());
        }
        public void SettingValues()
        {
            var parentMock = new ScopedNameResolver();

            var sut = new ScopedNameResolver(parentMock);

            Assert.AreEqual(parentMock, sut.ParentResolver);
            Assert.AreNotEqual(0, sut.GetHashCode());
            Assert.AreNotEqual(1, sut.GetHashCode());
        }
        public void Equality_DifferentParent()
        {
            var a = new ScopedNameResolver(new ScopedNameResolver());
            var b = new ScopedNameResolver();

            Assert.AreNotEqual(a, b);
            Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode());
        }
        public void Equality_Default()
        {
            var a = new ScopedNameResolver();
            var b = new ScopedNameResolver();

            Assert.AreEqual(a, b);
            Assert.AreEqual(a.GetHashCode(), b.GetHashCode());
        }
        public void Equality_DifferentRegistration_Identifier()
        {
            var a = new ScopedNameResolver();

            a.Register("x", new Query());
            var b = new ScopedNameResolver();

            Assert.AreNotEqual(a, b);
            Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode());
        }
        public void Equality_ReallyTheSame()
        {
            var parent = new ScopedNameResolver();

            var a = new ScopedNameResolver(parent);

            a.Register(Type("T1"), new Query());
            a.Register("t2", new Query());

            var b = new ScopedNameResolver(parent);

            b.Register(Type("T1"), new Query());
            b.Register("t2", new Query());

            Assert.AreEqual(a, b);
            Assert.AreEqual(a.GetHashCode(), b.GetHashCode());
        }