public void It_returns_correct_keys_for_route_components()
        {
            var keyGenerator = new TranslationKeyGenerator();

            Assert.That(keyGenerator.AreaUrl <TranslationController>(), Is.EqualTo("Area_AreaUrl"));

            Assert.That(keyGenerator.RoutePrefixUrl <TranslationController>(),
                        Is.EqualTo("Area_Translation_RoutePrefixUrl"));

            Assert.That(keyGenerator.RouteUrl <TranslationController>(c => c.Index()),
                        Is.EqualTo("Area_Translation_Index_RouteUrl"));
        }
        public void It_returns_correct_keys_for_route_components()
        {
            var keyGenerator = new TranslationKeyGenerator();

            Assert.That(keyGenerator.AreaUrl<TranslationController>(), Is.EqualTo("Area_AreaUrl"));

            Assert.That(keyGenerator.RoutePrefixUrl<TranslationController>(),
                        Is.EqualTo("Area_Translation_RoutePrefixUrl"));

            Assert.That(keyGenerator.RouteUrl<TranslationController>(c => c.Index()),
                        Is.EqualTo("Area_Translation_Index_RouteUrl"));
        }
        public void It_can_add_tranlsations_for_actions_with_defaulted_params()
        {
            var provider = new FluentTranslationProvider();

            provider.AddTranslations().ForController <TranslateActionsController>()
            .RouteUrl(c => c.Index(1), new Dictionary <string, string>
            {
                { "es", "hola" }
            });

            var keyGenerator   = new TranslationKeyGenerator();
            var translationKey = keyGenerator.RouteUrl <TranslateActionsController>(c => c.Index(1));
            var translation    = provider.GetTranslation(translationKey, "es");

            Assert.That(translation, Is.EqualTo("hola"));
        }
        public void It_can_add_tranlsations_for_actions_with_defaulted_params()
        {
            var provider = new FluentTranslationProvider();

            provider.AddTranslations().ForController<TranslateActionsController>()
                .RouteUrl(c => c.Index(1), new Dictionary<string, string>
                {
                    { "es", "hola" }
                });

            var keyGenerator = new TranslationKeyGenerator();
            var translationKey = keyGenerator.RouteUrl<TranslateActionsController>(c => c.Index(1));
            var translation = provider.GetTranslation(translationKey, "es");

            Assert.That(translation, Is.EqualTo("hola"));
        }
        public void It_returns_translation_for_given_keys()
        {
            var provider = new FluentTranslationProvider();

            provider.AddTranslations().ForController <TranslationController>()
            .AreaUrl(new Dictionary <string, string>
            {
                { "es", "es-Area" }
            })
            .RoutePrefixUrl(new Dictionary <string, string>
            {
                { "es", "es-Prefix" }
            })
            .RouteUrl(c => c.Index(), new Dictionary <string, string>
            {
                { "es", "es-Index" }
            });

            provider.AddTranslations()
            .ForKey("CustomAreaKey", new Dictionary <string, string>
            {
                { "es", "es-CustomArea" }
            })
            .ForKey("CustomPrefixKey", new Dictionary <string, string>
            {
                { "es", "es-CustomPrefix" }
            })
            .ForKey("CustomRouteKey", new Dictionary <string, string>
            {
                { "es", "es-CustomIndex" }
            });

            var keyGenerator = new TranslationKeyGenerator();

            Assert.That(provider.GetTranslation(keyGenerator.AreaUrl <TranslationController>(), "en"), Is.Null);
            Assert.That(provider.GetTranslation(keyGenerator.RoutePrefixUrl <TranslationController>(), "en"), Is.Null);
            Assert.That(provider.GetTranslation(keyGenerator.RouteUrl <TranslationController>(c => c.Index()), "en"), Is.Null);

            Assert.That(provider.GetTranslation(keyGenerator.AreaUrl <TranslationController>(), "es"), Is.EqualTo("es-Area"));
            Assert.That(provider.GetTranslation(keyGenerator.RoutePrefixUrl <TranslationController>(), "es"), Is.EqualTo("es-Prefix"));
            Assert.That(provider.GetTranslation(keyGenerator.RouteUrl <TranslationController>(c => c.Index()), "es"), Is.EqualTo("es-Index"));

            Assert.That(provider.GetTranslation("CustomAreaKey", "es"), Is.EqualTo("es-CustomArea"));
            Assert.That(provider.GetTranslation("CustomPrefixKey", "es"), Is.EqualTo("es-CustomPrefix"));
            Assert.That(provider.GetTranslation("CustomRouteKey", "es"), Is.EqualTo("es-CustomIndex"));
        }
        public void It_returns_translation_for_given_keys()
        {
            var provider = new FluentTranslationProvider();

            provider.AddTranslations().ForController<TranslationController>()
                .AreaUrl(new Dictionary<string, string>
                {
                    { "es", "es-Area" }
                })
                .RoutePrefixUrl(new Dictionary<string, string>
                {
                    { "es", "es-Prefix" }
                })
                .RouteUrl(c => c.Index(), new Dictionary<string, string>
                {
                    { "es", "es-Index" }
                });

            provider.AddTranslations()
                .ForKey("CustomAreaKey", new Dictionary<string, string>
                {
                    { "es", "es-CustomArea" }
                })
                .ForKey("CustomPrefixKey", new Dictionary<string, string>
                {
                    { "es", "es-CustomPrefix" }
                })
                .ForKey("CustomRouteKey", new Dictionary<string, string>
                {
                    { "es", "es-CustomIndex" }
                });

            var keyGenerator = new TranslationKeyGenerator();

            Assert.That(provider.GetTranslation(keyGenerator.AreaUrl<TranslationController>(), "en"), Is.Null);
            Assert.That(provider.GetTranslation(keyGenerator.RoutePrefixUrl<TranslationController>(), "en"), Is.Null);
            Assert.That(provider.GetTranslation(keyGenerator.RouteUrl<TranslationController>(c => c.Index()), "en"), Is.Null);

            Assert.That(provider.GetTranslation(keyGenerator.AreaUrl<TranslationController>(), "es"), Is.EqualTo("es-Area"));
            Assert.That(provider.GetTranslation(keyGenerator.RoutePrefixUrl<TranslationController>(), "es"), Is.EqualTo("es-Prefix"));
            Assert.That(provider.GetTranslation(keyGenerator.RouteUrl<TranslationController>(c => c.Index()), "es"), Is.EqualTo("es-Index"));

            Assert.That(provider.GetTranslation("CustomAreaKey", "es"), Is.EqualTo("es-CustomArea"));
            Assert.That(provider.GetTranslation("CustomPrefixKey", "es"), Is.EqualTo("es-CustomPrefix"));
            Assert.That(provider.GetTranslation("CustomRouteKey", "es"), Is.EqualTo("es-CustomIndex"));
        }
 protected TranslationProviderBase()
 {
     _keyGenerator = new TranslationKeyGenerator();
 }