Exemple #1
0
        public void MyTestInitialize()
        {
            this.kernel.Reset();
            this.kernel.Bind <CultureSettings>().ToSelf().InTransientScope();

            this.directoryMock   = this.kernel.GetMock <IDirectory>();
            this.cultureSettings = this.kernel.Get <CultureSettings>();
        }
Exemple #2
0
 public void ConstructorTest()
 {
     this.cultureSettings.SelectedSupportedCulture = new CultureInfo("ru");
     this.cultureSettings = this.kernel.Get <CultureSettings>();
     Assert.AreEqual(new CultureInfo("ru"), this.cultureSettings.SelectedSupportedCulture);
     this.cultureSettings.SelectedSupportedCulture = new CultureInfo("en-US");
     this.cultureSettings = this.kernel.Get <CultureSettings>();
     Assert.AreEqual(new CultureInfo("en-US"), this.cultureSettings.SelectedSupportedCulture);
 }
        public static void GenerateXmlDocComments(StringBuilder builder, CultureSettings settings, SimpleTermDefinition definition)
        {
            var defaultCopy = definition.Translations[settings.DefaultCulture];

            builder
            .AppendLine("		/// <summary>")
            .Append("		/// ").Append(settings.DefaultCulture.Name).Append(": \"").Append(defaultCopy.OriginalValue).AppendLine("\"")
            .AppendLine("		/// </summary>");
        }
        public DataContextProvider(IPathProvider pathProvider, CultureSettings cultureSettings)
        {
            if (pathProvider == null)
            {
                throw new ArgumentNullException("pathProvider");
            }
            if (cultureSettings == null)
            {
                throw new ArgumentNullException("cultureSettings");
            }

            this.pathProvider    = pathProvider;
            this.cultureSettings = cultureSettings;
        }
        public static void GenerateTermDeclaration_Property(StringBuilder builder, CultureSettings settings, string fullClassName, SimpleTermDefinition definition, string termKey, bool @public = false)
        {
            builder.Append("		");

            if (@public)
            {
                GenerateXmlDocComments(builder, settings, definition);
                builder.Append("public ");
            }

            builder.Append($@"static readonly Term {termKey} = ");
            RenderTermCultureSwitch_CSharp(builder, settings, definition, @public);
            builder.AppendLine(";");
        }
        public static void GenerateTermDeclaration_Method(StringBuilder builder, CultureSettings settings, string fullClassName, SimpleTermDefinition definition)
        {
            GenerateTermDeclaration_Property(builder, settings, fullClassName, definition, "_" + definition.Key);

            GenerateXmlDocComments(builder, settings, definition);

            builder
            .Append($@"		public static Term ")
            .Append(definition.Key)
            .Append(" (");

            for (var i = 0; i < definition.AllParameters.Count; i++)
            {
                var parameter = definition.AllParameters[i];
                builder
                .Append(parameter.Type)
                .Append(' ')
                .Append(parameter.Name);

                if (i < definition.AllParameters.Count - 1)
                {
                    builder.Append(", ");
                }
            }

            builder
            .AppendLine(")")
            .AppendLine("		{")
            .Append("			return new ParameterisedTerm(_")
            .Append(definition.Key)
            .Append(", ");

            for (var i = 0; i < definition.AllParameters.Count; i++)
            {
                builder.Append(definition.AllParameters[i].Name);

                if (i < definition.AllParameters.Count - 1)
                {
                    builder.Append(", ");
                }
            }

            builder
            .AppendLine(");")
            .AppendLine("		}");
        }
Exemple #7
0
        public static void BeforeFeatures()
        {
            var fakeFileAccess   = new FakeFileAccess();
            var fakePathProvider = new FakePathProvider
            {
                PathToXmlFile  = @"c:\temp\file.xml",
                PathToYnabFile = @"c:\temp\file.ynab",
                PathToCsvFile  = @"c:\temp\file.csv"
            };

            CurrentScenarioContext.FakeFileAccess = fakeFileAccess;

            CurrentScenarioContext.InitializeEasyBankContext(
                new EasyBankContext(
                    new CsvAgent(new CsvGateway(fakeFileAccess, fakePathProvider), new CsvMapper()),
                    new YnabAgent(new YnabGateway(fakeFileAccess, fakePathProvider, CultureSettings.American()), new YnabMapper()),
                    new XmlAgent(new XmlGateway(fakeFileAccess, fakePathProvider), new XmlMapper()),
                    fakeFileAccess,
                    new FakePathProvider()));
        }
        public static void RenderTermCultureSwitch_CSharp(StringBuilder builder, CultureSettings settings, SimpleTermDefinition definition, bool escaped)
        {
            if (escaped)
            {
                builder.Append("new EscapedTerm(");
            }

            builder.Append($@"new StaticTerm(""{definition.Key}"", new Dictionary<string, string> {{ ");

            var cases = new List <string>();

            for (var i = 0; i < settings.SupportedCultures.Count; i++)
            {
                var culture = settings.SupportedCultures[i];

                var termValue = GetTerm(definition, culture);

                var termText = termValue.CSharpStringFormatValue;

                builder
                .Append("{ \"")
                .Append(culture.Name.ToLowerInvariant())
                .Append("\", @\"")
                .Append(termText.Replace("\"", "\"\""))
                .Append("\" } ");

                if (i < settings.SupportedCultures.Count - 1)
                {
                    builder.Append(", ");
                }
            }

            builder.Append("})");

            if (escaped)
            {
                builder.Append(")");
            }
        }
Exemple #9
0
        public void ShouldCompileProperly()
        {
            var cultureEn         = new CultureInfo("en");
            var supportedCultures = new[] { cultureEn };
            var cultureSettings   = new CultureSettings {
                SupportedCultures = supportedCultures, DefaultCulture = cultureEn
            };

            var simpleTermDefinitionCSharpGenerator = new SimpleTermDefinitionCSharpGenerator(cultureSettings);
            var generator = new CSharpGenerator(new ITermCSharpGenerator[] { simpleTermDefinitionCSharpGenerator, new PluralTermDefinitionCSharpGenerator(cultureSettings), new ComplexTermDefinitionCSharpGenerator(cultureSettings) });
            var generated = generator.Generate(TestTerms.Terms);

            assembly = new Compiler().CompileCSharp(@"
using System.Collections.Generic;
using Blurb.Core;

namespace Test { 
	public class TestTerms { "     + generated + "} }");

            testTerm = assembly.GetType("Test.TestTerms");

            Assertions();
        }
 public PluralTermDefinitionCSharpGenerator(CultureSettings settings)
 {
     this.settings = settings;
 }
Exemple #11
0
 public ComplexTermDefinitionCSharpGenerator(CultureSettings settings)
 {
     this.settings = settings;
 }