Mercurial > repos > IBBoard.Tests
comparison Lang/AbstractTranslationSetTest.cs @ 21:2834da2b8891
Re #35: Add multi-level cascading of translations
* Add tests of "parent language" property
* Move some test values to constants instead of abstract methods
Also:
* Fix warning about tests not being executable because they're on an abstract class by not marking abstract class as a test fixture
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Wed, 07 Apr 2010 19:36:08 +0000 |
parents | bcb6e83752a6 |
children | e9bad86c1360 |
comparison
equal
deleted
inserted
replaced
20:b3bc581a8433 | 21:2834da2b8891 |
---|---|
7 | 7 |
8 namespace IBBoard.Lang | 8 namespace IBBoard.Lang |
9 { | 9 { |
10 public abstract class AbstractTranslationSetTest | 10 public abstract class AbstractTranslationSetTest |
11 { | 11 { |
12 protected const string TEST_KEY = "testKey"; | |
13 protected const string TEST_VALUE = "testTranslationValue"; | |
14 protected const string INHERITED_KEY = "inherited"; | |
15 protected const string INHERITED_VALUE = "Inherited Translation"; | |
12 | 16 |
13 [Test()] | 17 [Test()] |
14 public void TestTranslationSetReturnForMissingValue() | 18 public void TestTranslationSetReturnForMissingValue() |
15 { | 19 { |
16 AbstractTranslationSet translations = GetTranslationSet(); | 20 AbstractTranslationSet translations = GetTranslationSet(); |
19 | 23 |
20 [Test()] | 24 [Test()] |
21 public void TestTranslationSetSettingAndRetrieval() | 25 public void TestTranslationSetSettingAndRetrieval() |
22 { | 26 { |
23 AbstractTranslationSet translations = GetTranslationSetWithFixedValue(); | 27 AbstractTranslationSet translations = GetTranslationSetWithFixedValue(); |
24 Assert.AreEqual(GetFixedValueTranslation(), translations[GetFixedValueKey()]); | 28 Assert.AreEqual(TEST_VALUE, translations[TEST_KEY]); |
25 } | 29 } |
26 | 30 |
27 [Test()] | 31 [Test()] |
28 public void TestTranslationSetName() | 32 public void TestTranslationSetName() |
29 { | 33 { |
31 Assert.AreEqual("English", translations.LanguageName); | 35 Assert.AreEqual("English", translations.LanguageName); |
32 translations = GetTranslationSet("it"); | 36 translations = GetTranslationSet("it"); |
33 Assert.AreEqual("italiano", translations.LanguageName); | 37 Assert.AreEqual("italiano", translations.LanguageName); |
34 translations = GetTranslationSet("zz"); | 38 translations = GetTranslationSet("zz"); |
35 Assert.AreEqual("Unknown (zz)", translations.LanguageName); | 39 Assert.AreEqual("Unknown (zz)", translations.LanguageName); |
40 } | |
41 | |
42 [Test()] | |
43 public void TestTranslationInheritence() | |
44 { | |
45 AbstractTranslationSet translations = GetTranslationSetWithInheritance("it", "en"); | |
46 Assert.AreEqual("en", translations.ParentLanguage.Code); | |
47 Assert.AreEqual(TEST_VALUE, translations[TEST_KEY]); | |
48 Assert.AreEqual(INHERITED_VALUE, translations[INHERITED_KEY]); | |
36 } | 49 } |
37 | 50 |
38 [Test()] | 51 [Test()] |
39 public void TestEquality() | 52 public void TestEquality() |
40 { | 53 { |
52 { | 65 { |
53 return GetTranslationSet("en"); | 66 return GetTranslationSet("en"); |
54 } | 67 } |
55 | 68 |
56 protected abstract AbstractTranslationSet GetTranslationSet(string language); | 69 protected abstract AbstractTranslationSet GetTranslationSet(string language); |
70 protected abstract AbstractTranslationSet GetTranslationSetWithInheritance(string language, string parentLanguage); | |
57 protected abstract AbstractTranslationSet GetTranslationSetWithFixedValue(); | 71 protected abstract AbstractTranslationSet GetTranslationSetWithFixedValue(); |
58 protected abstract string GetFixedValueKey(); | |
59 protected abstract string GetFixedValueTranslation(); | |
60 } | 72 } |
61 } | 73 } |