コード例 #1
0
        public void GetRootNamespace_IfNotInTheCache_ShouldAddItToTheCache()
        {
            var rootNamespaceResolver = new RootNamespaceResolver();

            Assert.IsFalse(rootNamespaceResolver.Cache.Any());
            rootNamespaceResolver.GetRootNamespace(typeof(string).Assembly);
            Assert.AreEqual(1, rootNamespaceResolver.Cache.Count);
            Assert.IsNull(rootNamespaceResolver.Cache.Values.First());
        }
コード例 #2
0
        public void GetRootNamespace_IfTheAssemblyHaveARootNamespaceAttribute_ShouldReturnARootNamespaceAttributeWrapper()
        {
            var rootNamespaceResolver = new RootNamespaceResolver();

            var rootNamespace = rootNamespaceResolver.GetRootNamespace(typeof(RootNamespacedResources.TheClass).Assembly);

            Assert.IsNotNull(rootNamespace);
            Assert.IsTrue(rootNamespace is RootNamespaceAttributeWrapper);
            Assert.AreEqual("My.Custom.Namespace", rootNamespace.Name);
        }
コード例 #3
0
        public void GetRootNamespace_IfInTheCache_ShouldGetItFromTheCache()
        {
            var rootNamespaceName = Guid.NewGuid().ToString();
            var rootNamespaceMock = new Mock <IRootNamespace>();

            rootNamespaceMock.Setup(@namespace => @namespace.Name).Returns(rootNamespaceName);
            var rootNamespace = rootNamespaceMock.Object;

            var rootNamespaceResolver = new RootNamespaceResolver();

            Assert.IsTrue(rootNamespaceResolver.Cache.TryAdd(typeof(string).Assembly.FullName, rootNamespace));
            Assert.AreEqual(1, rootNamespaceResolver.Cache.Count);

            var actualRootNamespace = rootNamespaceResolver.GetRootNamespace(typeof(string).Assembly);

            Assert.IsNotNull(actualRootNamespace);
            Assert.IsTrue(ReferenceEquals(rootNamespace, actualRootNamespace));
            Assert.AreEqual(rootNamespaceName, actualRootNamespace.Name);
        }