[Test]         // ok
        public void ClickAddPredefinedLanguage_AddNewCalledOnSetupModel()
        {
            /* the tree would look like this:
             *      Add Language
             *      Other Languages
             *        Add xyz     <-- we're clicking this one
             */

            using (var e = new TestEnvironment())
            {
                var def = new WritingSystemDefinition("en")
                {
                    DefaultFontSize = 12
                };
                e.TestWritingSystemFactory.WritingSystems.Add(def);
                var model = e.CreateModel();
                model.Suggestor.OtherKnownWritingSystems = new List <Tuple <string, string> >()
                {
                    new Tuple <string, string>("en", string.Empty)
                };
                var items = model.GetTreeItems();
                e.MockSetupModel.Setup(m => m.AddPredefinedDefinition(def));


                items.Last().Children.First().Clicked();
                e.MockSetupModel.Verify(m => m.AddPredefinedDefinition(def));
            }
        }
Пример #2
0
 [Test]         // ok
 public void GetTopLevelItems_StoreIsEmptyButOtherLanguagesAreAvailable_GivesOtherLanguageChoiceHeader()
 {
     using (var e = new TestEnvironment())
     {
         e.SetDefinitionsInStore(new WritingSystemDefinition[] {});
         var model = e.CreateModel();
         model.Suggestor.OtherKnownWritingSystems = new List <WritingSystemDefinition>(new[] { new WritingSystemDefinition("en") });
         AssertTreeNodeLabels(model, "Add Language", "", "Other Languages", "+Add English");
     }
 }
Пример #3
0
 [Test]         // ok
 public void GetTopLevelItems_OtherKnownWritingSystemsIsNull_Ok()
 {
     using (var e = new TestEnvironment())
     {
         e.SetDefinitionsInStore(new WritingSystemDefinition[] {});
         var model = e.CreateModel();
         model.Suggestor.OtherKnownWritingSystems = null;
         AssertTreeNodeLabels(model, "Add Language");
     }
 }
		[Test] // ok
		public void GetTopLevelItems_OtherKnownWritingSystemsIsNull_Ok()
		{
			using (var e = new TestEnvironment())
			{
				e.SetDefinitionsInStore(new WritingSystemDefinition[] {});
				var model = e.CreateModel();
				model.Suggestor.OtherKnownWritingSystems = null;
				AssertTreeNodeLabels(model, "Add Language");
			}
		}
Пример #5
0
 public void GetTopLevelItems_UsesSuggestor()
 {
     using (var e = new TestEnvironment())
     {
         var etr = new WritingSystemDefinition("etr", string.Empty, string.Empty, string.Empty, "edo", false);
         e.SetDefinitionsInStore(new[] { etr });
         var model = e.CreateModel();
         model.Suggestor.SuggestIpa = true;
         AssertTreeNodeLabels(model, "Edolo", "+Add IPA input system for Edolo", "", "Add Language");
     }
 }
Пример #6
0
 [Test]         // ok
 public void GetTopLevelItems_TwoLanguagesInStore_GivesBoth()
 {
     using (var e = new TestEnvironment())
     {
         var xyz   = new WritingSystemDefinition("en");
         var abc   = new WritingSystemDefinition("de");
         var model = e.CreateModel();
         e.SetDefinitionsInStore(new[] { abc, xyz });
         AssertTreeNodeLabels(model, "German", "English", "", "Add Language");
     }
 }
Пример #7
0
 [Test]         // ok
 public void GetTopLevelItems_ThreeVariantsAreSyblings_ListsAllUnderGroupHeading()
 {
     using (var e = new TestEnvironment())
     {
         var thai  = new WritingSystemDefinition("bzi", "Thai", string.Empty, string.Empty, "bt", false);
         var my    = new WritingSystemDefinition("bzi", "Mymr", string.Empty, string.Empty, "bm", false);
         var latin = new WritingSystemDefinition("bzi", "Latn", string.Empty, string.Empty, "bl", false);
         e.SetDefinitionsInStore(new[] { thai, my, latin });
         var model = e.CreateModel();
         AssertTreeNodeLabels(model, "Bisu", "+Bisu (Thai)", "+Bisu (Mymr)", "+Bisu (Latn)", "", "Add Language");
     }
 }
Пример #8
0
 [Test]         // ok
 public void GetTopLevelItems_OneLanguageIsChildOfAnother_GivesParentOnly()
 {
     using (var e = new TestEnvironment())
     {
         var etr    = new WritingSystemDefinition("etr", string.Empty, string.Empty, string.Empty, "edo", false);
         var etrIpa = new WritingSystemDefinition("etr", string.Empty, string.Empty, "fonipa", "edo", false);
         e.SetDefinitionsInStore(new[] { etr, etrIpa });
         var model = e.CreateModel();
         model.Suggestor.SuggestIpa = true;
         AssertTreeNodeLabels(model, "Edolo", "+Edolo (IPA)", "", "Add Language");
     }
 }
Пример #9
0
 [Test]         // ok
 public void GetTopLevelItems_StoreAlreadyHasAllOsLanguages_DoesNotGiveLanguageChoiceHeader()
 {
     using (var e = new TestEnvironment())
     {
         var en    = new WritingSystemDefinition("en");
         var de    = new WritingSystemDefinition("de");
         var model = e.CreateModel();
         model.Suggestor.OtherKnownWritingSystems = new[] { de };
         e.SetDefinitionsInStore(new[] { en, de });
         AssertTreeNodeLabels(model, "English", "German", "", "Add Language");
     }
 }
		[Test] // ok
		public void GetTopLevelItems_StoreIsEmptyButOtherLanguagesAreAvailable_GivesOtherLanguageChoiceHeader()
		{
			using (var e = new TestEnvironment())
			{
				e.SetDefinitionsInStore(new WritingSystemDefinition[] {});
				var model = e.CreateModel();
				model.Suggestor.OtherKnownWritingSystems = new List<Tuple<string, string>>()
				{
					new Tuple<string, string>("en", string.Empty)
				};
				AssertTreeNodeLabels(model, "Add Language", "", "Other Languages", "+Add English");
			}
		}
Пример #11
0
 public void ClickAddLanguage_AddNewCalledOnSetupModel()
 {
     /* the tree would look like this:
      * Add Language  <-- we're clicking this one
      */
     using (var e = new TestEnvironment())
     {
         var model = e.CreateModel();
         var items = model.GetTreeItems();
         items.First().Clicked();
         e.MockSetupModel.Setup(m => m.AddNew());
         e.MockSetupModel.Verify(m => m.AddNew(), "Should have called the AddNew method on the setup model");
     }
 }
Пример #12
0
 [Test]         // ok
 public void GetTopLevelItems_StoreAlreadyHasAllOsLanguages_DoesNotOfferToCreateItAgain()
 {
     using (var e = new TestEnvironment())
     {
         var en    = new WritingSystemDefinition("en");
         var de    = new WritingSystemDefinition("de");
         var green = new WritingSystemDefinition("fr");
         var model = e.CreateModel();
         model.Suggestor.OtherKnownWritingSystems = new[] { de, green };
         e.SetDefinitionsInStore(new[] { en, de });
         AssertTreeNodeLabels(
             model,
             "English", "German", "", "Add Language", "", "Other Languages", "+Add French"                     /*notice, no de*/
             );
     }
 }
Пример #13
0
        [Test]         // ok
        public void ClickExistingLanguage_SelectCalledOnSetupModel()
        {
            /* the tree would look like this:
             *      xyz               <-- we're clicking this one
             *      Add Language
             */

            using (var e = new TestEnvironment())
            {
                var def = new WritingSystemDefinition("en");
                e.SetDefinitionsInStore(new[] { def });
                var model = e.CreateModel();
                var items = model.GetTreeItems();
                e.MockSetupModel.Setup(m => m.SetCurrentDefinition(def));


                items.First().Clicked();
                e.MockSetupModel.Verify(m => m.SetCurrentDefinition(def));
            }
        }
Пример #14
0
        [Test]         // ok
        public void ClickAddPredifinedLanguage_AddNewCalledOnSetupModel()
        {
            /* the tree would look like this:
             *      Add Language
             *      Other Languages
             *        Add xyz     <-- we're clicking this one
             */

            using (var e = new TestEnvironment())
            {
                var def   = new WritingSystemDefinition("en");
                var model = e.CreateModel();
                model.Suggestor.OtherKnownWritingSystems = new List <WritingSystemDefinition>(new[] { def });
                var items = model.GetTreeItems();
                e.MockSetupModel.Setup(m => m.AddPredefinedDefinition(def));


                items.Last().Children.First().Clicked();
                e.MockSetupModel.Verify(m => m.AddPredefinedDefinition(def));
            }
        }
		[Test] // ok
		public void GetTopLevelItems_StoreAlreadyHasAllOsLanguages_DoesNotOfferToCreateItAgain()
		{
			using (var e = new TestEnvironment())
			{
				var en = new WritingSystemDefinition("en");
				var de = new WritingSystemDefinition("de");
				var model = e.CreateModel();
				model.Suggestor.OtherKnownWritingSystems = new List<Tuple<string, string>>()
				{
					new Tuple<string, string>("de", string.Empty),
					new Tuple<string, string>("fr", string.Empty)
				};
				e.SetDefinitionsInStore(new[] {en, de});
				AssertTreeNodeLabels(
					model,
					"English", "German", "", "Add Language", "", "Other Languages", "+Add French" /*notice, no de*/
				);
			}
		}
		[Test] // ok
		public void ClickAddPredefinedLanguage_AddNewCalledOnSetupModel()
		{
			/* the tree would look like this:
				Add Language
				Other Languages
				  Add xyz     <-- we're clicking this one
			 */

			using (var e = new TestEnvironment())
			{
				var def = new WritingSystemDefinition("en")
				{
					DefaultFontSize = 12
				};
				e.TestWritingSystemFactory.WritingSystems.Add(def);
				var model = e.CreateModel();
				model.Suggestor.OtherKnownWritingSystems = new List<Tuple<string, string>>()
				{
					new Tuple<string, string>("en", string.Empty)
				};
				var items = model.GetTreeItems();
				e.MockSetupModel.Setup(m => m.AddPredefinedDefinition(def));


				items.Last().Children.First().Clicked();
				e.MockSetupModel.Verify(m => m.AddPredefinedDefinition(def));
			}
		}
		[Test] // ok
		public void ClickExistingLanguage_SelectCalledOnSetupModel()
		{
			/* the tree would look like this:
				xyz               <-- we're clicking this one
				Add Language
			 */

			using (var e = new TestEnvironment())
			{
				var def = new WritingSystemDefinition("en");
				e.SetDefinitionsInStore(new[] {def});
				var model = e.CreateModel();
				var items = model.GetTreeItems();
				e.MockSetupModel.Setup(m => m.SetCurrentDefinition(def));


				items.First().Clicked();
				e.MockSetupModel.Verify(m => m.SetCurrentDefinition(def));
			}
		}
		public void ClickAddLanguage_AddNewCalledOnSetupModel()
		{
			/* the tree would look like this:
			  Add Language  <-- we're clicking this one
			*/
			using (var e = new TestEnvironment())
			{
				var model = e.CreateModel();
				var items = model.GetTreeItems();
				items.First().Clicked();
				e.MockSetupModel.Setup(m => m.AddNew());
				e.MockSetupModel.Verify(m => m.AddNew(), "Should have called the AddNew method on the setup model");
			}
		}
		public void GetTopLevelItems_UsesSuggestor()
		{
			using (var e = new TestEnvironment())
			{
				var etr = new WritingSystemDefinition("etr", string.Empty, string.Empty, string.Empty, "edo", false);
				e.SetDefinitionsInStore(new[] {etr});
				var model = e.CreateModel();
				model.Suggestor.SuggestIpa = true;
				AssertTreeNodeLabels(model, "Edolo", "+Add IPA input system for Edolo", "", "Add Language");
			}
		}
		[Test] // ok
		public void GetTopLevelItems_ThreeVariantsAreSyblings_ListsAllUnderGroupHeading()
		{
			using (var e = new TestEnvironment())
			{
				var thai = new WritingSystemDefinition("bzi", "Thai", string.Empty, string.Empty, "bt", false);
				var my = new WritingSystemDefinition("bzi", "Mymr", string.Empty, string.Empty, "bm", false);
				var latin = new WritingSystemDefinition("bzi", "Latn", string.Empty, string.Empty, "bl", false);
				e.SetDefinitionsInStore(new[] {thai, my, latin});
				var model = e.CreateModel();
				AssertTreeNodeLabels(model, "Bisu", "+Bisu (Thai)", "+Bisu (Mymr)", "+Bisu (Latn)", "", "Add Language");
			}
		}
		[Test] // ok
		public void GetTopLevelItems_OneLanguageIsChildOfAnother_GivesParentOnly()
		{
			using (var e = new TestEnvironment())
			{
				var etr = new WritingSystemDefinition("etr", string.Empty, string.Empty, string.Empty, "edo", false);
				var etrIpa = new WritingSystemDefinition("etr", string.Empty, string.Empty, "fonipa", "edo", false);
				e.SetDefinitionsInStore(new[] {etr, etrIpa});
				var model = e.CreateModel();
				model.Suggestor.SuggestIpa = true;
				AssertTreeNodeLabels(model, "Edolo", "+Edolo (IPA)", "", "Add Language");
			}
		}
		[Test] // ok
		public void GetTopLevelItems_TwoLanguagesInStore_GivesBoth()
		{
			using (var e = new TestEnvironment())
			{
				var xyz = new WritingSystemDefinition("en");
				var abc = new WritingSystemDefinition("de");
				var model = e.CreateModel();
				e.SetDefinitionsInStore(new[] { abc, xyz });
				AssertTreeNodeLabels(model, "German", "English", "", "Add Language");
			}
		}