public void AvailableLanguages_AreRefreshed_WhenNewLanguageNode_IsAdded()
        {
            LanguageRoot dutch = new LanguageRoot();
            dutch.LanguageCode = "nl-NL";
            dutch.AddTo(root);
            engine.Persister.Save(dutch);

            ILanguageGateway gateway = engine.Resolve<ILanguageGateway>();
            Assert.That(gateway.GetAvailableLanguages().Count(), Is.EqualTo(4));
        }
        public void LanguageKey_IsReused_ForTranslations_OfAPage_AndLivesAcrossCalls()
        {
            using (engine.Persister)
            {
                ContentItem englishSub = CreateOneItem<Items.TranslatedPage>(0, "english1", english);
                engine.Persister.Save(englishSub);

                ContentItem swedishSub = CreateOneItem<Items.TranslatedPage>(0, "swedish1", swedish);

                using (new LanguageKeyScope(engine, englishSub.ID))
                {
                    engine.Persister.Save(swedishSub);
                }
            }

            using (engine.Persister)
            {
                english = engine.Persister.Get<LanguageRoot>(english.ID);
                swedish = engine.Persister.Get<LanguageRoot>(swedish.ID);
                ContentItem englishSub = english.Children[english.Children.Count - 1];
                ContentItem swedishSub = swedish.Children[swedish.Children.Count - 1];
                Assert.That(swedishSub[LanguageGateway.LanguageKey], Is.EqualTo(englishSub[LanguageGateway.LanguageKey]));
            }
        }