public void CanChangeAssociation() { ContentItem english1 = CreateOneItem<Items.TranslatedPage>(0, "english1", english); engine.Persister.Save(english1); var scope = new LanguageKeyScope(engine, english1.ID); ContentItem swedish1 = CreateOneItem<Items.TranslatedPage>(0, "swedish1", swedish); engine.Persister.Save(swedish1); ContentItem italian1 = CreateOneItem<Items.TranslatedPage>(0, "italian1", italian); engine.Persister.Save(italian1); scope.Dispose(); ContentItem italian2 = CreateOneItem<Items.TranslatedPage>(0, "italian2", italian); engine.Persister.Save(italian2); ILanguageGateway gateway = engine.Resolve<ILanguageGateway>(); gateway.Associate(new ContentItem[] { english1, italian2 }); var translations = gateway.FindTranslations(english1); Assert.That(translations.Count(), Is.EqualTo(3)); Assert.That(translations.Contains(english1)); Assert.That(translations.Contains(swedish1)); Assert.That(translations.Contains(italian2)); }
public void DoesntDeassociate_UnrelatedItems() { ContentItem english1 = CreateOneItem <Items.TranslatedPage>(0, "english1", english); engine.Persister.Save(english1); var scope = new LanguageKeyScope(engine, english1.ID); ContentItem swedish1 = CreateOneItem <Items.TranslatedPage>(0, "swedish1", swedish); engine.Persister.Save(swedish1); ContentItem italian1 = CreateOneItem <Items.TranslatedPage>(0, "italian1", italian); engine.Persister.Save(italian1); scope.Dispose(); ContentItem italian2 = CreateOneItem <Items.TranslatedPage>(0, "italian2", italian); engine.Persister.Save(italian2); ILanguageGateway gateway = engine.Resolve <ILanguageGateway>(); gateway.Associate(new ContentItem[] { swedish1, italian2 }); var translations = gateway.FindTranslations(english1); Assert.That(translations.Count(), Is.EqualTo(3)); Assert.That(translations.Contains(english1)); Assert.That(translations.Contains(swedish1)); Assert.That(translations.Contains(italian2)); }