public void MyTestInitialize() { this.kernel.Reset(); this.kernel.Bind <CultureSettings>().ToSelf().InTransientScope(); this.directoryMock = this.kernel.GetMock <IDirectory>(); this.cultureSettings = this.kernel.Get <CultureSettings>(); }
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(" }"); }
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(")"); } }
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; }
public ComplexTermDefinitionCSharpGenerator(CultureSettings settings) { this.settings = settings; }