Mercurial > repos > IBBoard.Tests
view Lang/ModifiableTranslationSetTest.cs @ 22:e9bad86c1360
Fixes #35: Add multi-level cascading of translations
* Add tests to check for handling of looping
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Fri, 09 Apr 2010 15:12:47 +0000 |
parents | 2834da2b8891 |
children | 31fdc90f3556 |
line wrap: on
line source
// This file (ModifiableTranslationSetTest.cs) is a part of the IBBoard.Tests project and is copyright 2010 IBBoard // // The file and the library/program it is in are licensed and distributed, without warranty, under the GNU Affero GPL license, either version 3 of the License or (at your option) any later version. Please see COPYING for more information and the full license. using System; using NUnit.Framework; namespace IBBoard.Lang { [TestFixture()] public class ModifiableTranslationSetTest : AbstractTranslationSetTest { protected override AbstractTranslationSet GetTranslationSet(string language) { return new ModifiableTranslationSet(language); } protected override AbstractTranslationSet GetTranslationSetWithInheritance(string language, string parentLanguage) { ModifiableTranslationSet translations = new ModifiableTranslationSet(language); translations.SetTranslation(TEST_KEY, TEST_VALUE); ModifiableTranslationSet parentTranslations = new ModifiableTranslationSet(parentLanguage); parentTranslations.SetTranslation(INHERITED_KEY, INHERITED_VALUE); translations.SetParentTranslations(parentTranslations); return translations; } protected override AbstractTranslationSet GetTranslationSetWithFixedValue() { ModifiableTranslationSet translations = new ModifiableTranslationSet("en"); translations.SetTranslation(TEST_KEY, TEST_VALUE); return translations; } protected override AbstractTranslationSet GetTranslationSetWithDirectLoop() { ModifiableTranslationSet translations = new ModifiableTranslationSet("en-US"); ModifiableTranslationSet parentTranslations = new ModifiableTranslationSet("en"); translations.SetParentTranslations(parentTranslations); parentTranslations.SetParentTranslations(translations); return translations; } protected override AbstractTranslationSet GetTranslationSetWithIndirectLoop() { ModifiableTranslationSet translations = new ModifiableTranslationSet("it"); ModifiableTranslationSet parentTranslations = new ModifiableTranslationSet("en-US"); ModifiableTranslationSet parentParentTranslations = new ModifiableTranslationSet("en"); translations.SetParentTranslations(parentTranslations); parentTranslations.SetParentTranslations(parentParentTranslations); parentParentTranslations.SetParentTranslations(translations); return translations; } } }