public async Task BuildAsync_TemplateContentIsCorrect(TemplateBuilderDelegate templateBuilder)
        {
            // Arrange
            var builder = templateBuilder();

            // Act
            var tpl = await builder.BuildAsync();

            // Assert
            Assert.AreEqual("test", tpl.Get());
        }
        public void Build_TemplateContentIsCorrect(TemplateBuilderDelegate templateBuilder)
        {
            // Arrange
            var builder = templateBuilder();

            // Act
            var tpl = builder.Build();

            // Assert
            Assert.AreEqual("test", tpl.Get());
        }
        public async Task BuildAsync_LocalizableFromCurrentThreadLanguageDifferentFromBase_LocalizableLoadedWithBaseReplacements(
            TemplateBuilderDelegate templateBuilder)
        {
            // Arrange

            var builder = templateBuilder();

            Thread.CurrentThread.CurrentCulture = new CultureInfo("ru");

            // Act
            var tpl = await builder
                      .LocalizableFromCurrentThreadLanguage()
                      .BuildAsync();

            // Assert
            Assert.AreEqual("текст1 text2", tpl.Get());
        }
        public async Task BuildAsync_LocalizableDifferentFromBase_LocalizableLoadedWithBaseReplacements(TemplateBuilderDelegate templateBuilder)
        {
            // Arrange
            var builder = templateBuilder();

            // Act
            var tpl = await builder
                      .Localizable("ru")
                      .BuildAsync();

            // Assert
            Assert.AreEqual("текст1 text2", tpl.Get());
        }