changeset 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 b3bc581a8433
children e9bad86c1360
files Lang/AbstractTranslationSetTest.cs Lang/ModifiableTranslationSetTest.cs Limits/AbstractLimitTest.cs
diffstat 3 files changed, 27 insertions(+), 18 deletions(-) [+]
line wrap: on
line diff
--- a/Lang/AbstractTranslationSetTest.cs	Wed Apr 07 14:57:28 2010 +0000
+++ b/Lang/AbstractTranslationSetTest.cs	Wed Apr 07 19:36:08 2010 +0000
@@ -9,6 +9,10 @@
 {
 	public abstract class AbstractTranslationSetTest
 	{
+		protected const string TEST_KEY = "testKey";
+		protected const string TEST_VALUE = "testTranslationValue";
+		protected const string INHERITED_KEY = "inherited";
+		protected const string INHERITED_VALUE = "Inherited Translation";
 		
 		[Test()]
 		public void TestTranslationSetReturnForMissingValue()
@@ -21,7 +25,7 @@
 		public void TestTranslationSetSettingAndRetrieval()
 		{
 			AbstractTranslationSet translations = GetTranslationSetWithFixedValue();
-			Assert.AreEqual(GetFixedValueTranslation(), translations[GetFixedValueKey()]);
+			Assert.AreEqual(TEST_VALUE, translations[TEST_KEY]);
 		}
 		
 		[Test()]
@@ -36,6 +40,15 @@
 		}
 		
 		[Test()]
+		public void TestTranslationInheritence()
+		{
+			AbstractTranslationSet translations = GetTranslationSetWithInheritance("it", "en");
+			Assert.AreEqual("en", translations.ParentLanguage.Code);
+			Assert.AreEqual(TEST_VALUE, translations[TEST_KEY]);
+			Assert.AreEqual(INHERITED_VALUE, translations[INHERITED_KEY]);
+		}
+		
+		[Test()]
 		public void TestEquality()
 		{
 			Assert.AreEqual(GetTranslationSet("en"), GetTranslationSet("en"));
@@ -54,8 +67,7 @@
 		}
 		
 		protected abstract AbstractTranslationSet GetTranslationSet(string language);		
+		protected abstract AbstractTranslationSet GetTranslationSetWithInheritance(string language, string parentLanguage);
 		protected abstract AbstractTranslationSet GetTranslationSetWithFixedValue();
-		protected abstract string GetFixedValueKey();
-		protected abstract string GetFixedValueTranslation();
 	}
 }
--- a/Lang/ModifiableTranslationSetTest.cs	Wed Apr 07 14:57:28 2010 +0000
+++ b/Lang/ModifiableTranslationSetTest.cs	Wed Apr 07 19:36:08 2010 +0000
@@ -10,27 +10,25 @@
 	[TestFixture()]
 	public class ModifiableTranslationSetTest : AbstractTranslationSetTest
 	{
-		private const string TEST_ID = "testString";
-		
-		protected override string GetFixedValueKey()
-		{
-			return TEST_ID;
-		}
-		
-		protected override string GetFixedValueTranslation()
-		{
-			return "new string";
-		}
-		
 		protected override AbstractTranslationSet GetTranslationSet(string language)
 		{
 			return new ModifiableTranslationSet(language);
 		}
 		
-		protected override AbstractTranslationSet GetTranslationSetWithFixedValue()
+		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(GetFixedValueKey(), GetFixedValueTranslation());
+			translations.SetTranslation(TEST_KEY, TEST_VALUE);
 			return translations;
 		}
 	}
--- a/Limits/AbstractLimitTest.cs	Wed Apr 07 14:57:28 2010 +0000
+++ b/Limits/AbstractLimitTest.cs	Wed Apr 07 19:36:08 2010 +0000
@@ -7,7 +7,6 @@
 
 namespace IBBoard.Limits
 {
-	[TestFixture()]
 	public abstract class AbstractLimitTest
 	{
 		[Test()]