예제 #1
0
        public void ShouldThrowExceptionLoadingSqlFromNonExistantEmbeddedResource()
        {
            //Arrange
            string nonExistantFile = Guid.NewGuid().ToString();
            string rootPath        = "Resources";

            EmbeddedResourceSqlStringService sqlStringService = new EmbeddedResourceSqlStringService(rootPath);

            //Act
            Action failAction = () => sqlStringService.GetSqlFromResource(nonExistantFile);

            //Assert
            failAction.Should().Throw <ResourceNotFoundException>();
            sqlStringService.ResourceCache.Should().BeEmpty();
        }
예제 #2
0
        public void ShouldLoadKnownResourceFromEmbeddedResourceFileAndCacheResult()
        {
            //Arrange
            string knownFile            = "GetAllGoals";
            string rootPath             = "Resources";
            string expectedSqlStatement = "SELECT * FROM Goals;";

            EmbeddedResourceSqlStringService sqlStringService = new EmbeddedResourceSqlStringService(rootPath);

            //Act
            string sqlString = sqlStringService.GetSqlFromResource(knownFile);

            //Assert
            sqlString.Should().NotBeNull();
            sqlString.Should().Be(expectedSqlStatement);
            sqlStringService.ResourceCache.Should().NotBeNull();
            sqlStringService.ResourceCache.Count.Should().Be(1);
            sqlStringService.ResourceCache.Values.Should().ContainSingle(expectedSqlStatement);
        }