Beispiel #1
0
        public void CompilationArgumentsCacheUpdatesCachedUserConstantsOnReload()
        {
            var mockArgumentsProvider = new Mock <ICompilationArgumentsProvider>();

            mockArgumentsProvider.Setup(m => m.UserDefinedCompilationArguments(It.IsAny <string>()))
            .Returns(() => new Dictionary <string, short> {
                { "constant", 1 }
            });

            var argumentsProvider = mockArgumentsProvider.Object;
            var argumentsCache    = new CompilationArgumentsCache(argumentsProvider);

            argumentsCache.ReloadCompilationArguments(new[] { "test" });
            mockArgumentsProvider.Setup(m => m.UserDefinedCompilationArguments(It.IsAny <string>()))
            .Returns(() => new Dictionary <string, short> {
                { "constant", 2 }
            });
            argumentsCache.ReloadCompilationArguments(new[] { "test" });
            var userCompilationConstants = argumentsCache.UserDefinedCompilationArguments("test");

            var expected = 2;
            var actual   = userCompilationConstants["constant"];

            Assert.AreEqual(expected, actual);
        }
Beispiel #2
0
        public void CompilationArgumentsCacheInitiallyReturnsNoUserConstants()
        {
            var mockArgumentsProvider = new Mock <ICompilationArgumentsProvider>();

            mockArgumentsProvider.Setup(m => m.UserDefinedCompilationArguments(It.IsAny <string>()))
            .Returns(() => new Dictionary <string, short> {
                { "constant", 1 }
            });

            var argumentsProvider = mockArgumentsProvider.Object;
            var argumentsCache    = new CompilationArgumentsCache(argumentsProvider);

            var userCompilationConstants = argumentsCache.UserDefinedCompilationArguments("test");

            Assert.IsTrue(userCompilationConstants.Count == 0);
        }
Beispiel #3
0
        public void CompilationArgumentsCacheReturnsNoUserConstantsAfterTheProjectHasBeenRemoved()
        {
            var mockArgumentsProvider = new Mock <ICompilationArgumentsProvider>();

            mockArgumentsProvider.Setup(m => m.UserDefinedCompilationArguments(It.IsAny <string>()))
            .Returns(() => new Dictionary <string, short> {
                { "constant", 1 }
            });

            var argumentsProvider = mockArgumentsProvider.Object;
            var argumentsCache    = new CompilationArgumentsCache(argumentsProvider);

            argumentsCache.ReloadCompilationArguments(new[] { "test" });
            argumentsCache.RemoveCompilationArgumentsFromCache(new[] { "test" });
            var userCompilationConstants = argumentsCache.UserDefinedCompilationArguments("test");

            Assert.IsTrue(userCompilationConstants.Count == 0);
        }
Beispiel #4
0
        public void CompilationArgumentsCacheReturnsUserConstantsAfterLoadOfTheProjectAndRemovalOfAnother()
        {
            var mockArgumentsProvider = new Mock <ICompilationArgumentsProvider>();

            mockArgumentsProvider.Setup(m => m.UserDefinedCompilationArguments(It.IsAny <string>()))
            .Returns(() => new Dictionary <string, short> {
                { "constant", 1 }
            });

            var argumentsProvider = mockArgumentsProvider.Object;
            var argumentsCache    = new CompilationArgumentsCache(argumentsProvider);

            argumentsCache.ReloadCompilationArguments(new[] { "test", "notTest" });
            argumentsCache.RemoveCompilationArgumentsFromCache(new[] { "notTest" });
            var userCompilationConstants = argumentsCache.UserDefinedCompilationArguments("test");

            var expected = 1;
            var actual   = userCompilationConstants["constant"];

            Assert.AreEqual(expected, actual);
        }