Exemplo n.º 1
0
        public void PopulateAvailableProjects()
        {
            const string id1  = "nko";
            const string id2  = "atinlay-dictionary";
            const string id3  = "wra-ramo-dict";
            const string json = @"[
			{
				 ""identifier"":"""                 + id1 + @""",
				 ""name"":""Nkonya 2011"",
				 ""repository"":""http:\/\/public.languageforge.org"",
				 ""role"":""unknown""
			},
			{
				 ""identifier"":"""                 + id2 + @""",
				 ""name"":""Atinlay Dictionary"",
				 ""repository"":""http:\/\/public.languageforge.org"",
				 ""role"":""manager""
			},
			{
				 ""identifier"":"""                 + id3 + @""",
				 ""name"":""Ramo Dictionary"",
				 ""repository"":""http:\/\/public.languageforge.org"",
				 ""role"":""unknown""
			}]"            ;

            var m = new ServerSettingsModel();

            // SUT
            m.PopulateAvailableProjects(json);

            Assert.AreEqual(3, m.AvailableProjects.Count, "number of available projects");
            CollectionAssert.Contains(m.AvailableProjects, id1);
            CollectionAssert.Contains(m.AvailableProjects, id2);
            CollectionAssert.Contains(m.AvailableProjects, id3);
        }
Exemplo n.º 2
0
        public void PopulateAvailableProjects_ThrowsBadJson()
        {
            const string badJson = @"[{""identifier"":(}]";
            var          m       = new ServerSettingsModel();

            // SUT
            Assert.Throws <JsonReaderException>(() => m.PopulateAvailableProjects(badJson));
        }
Exemplo n.º 3
0
        public void PopulateAvailableProjects_NoProjects([Values("", "[]")] string json)
        {
            var m = new ServerSettingsModel();

            // SUT
            m.PopulateAvailableProjects(json);

            CollectionAssert.IsEmpty(m.AvailableProjects);
        }
Exemplo n.º 4
0
        public void PopulateAvailableProjects_ToleratesMissingProperties()
        {
            const string id   = "nko";
            const string json = @"[{
				 ""identifier"":"""                 + id + @"""
			}]"            ;

            var m = new ServerSettingsModel();

            // SUT
            m.PopulateAvailableProjects(json);

            Assert.AreEqual(1, m.AvailableProjects.Count, "number of available projects");
            CollectionAssert.Contains(m.AvailableProjects, id);
        }
Exemplo n.º 5
0
        public void PopulateAvailableProjects_ToleratesExtraProperties()
        {
            const string id   = "nko";
            const string json = @"[
			{
				 ""identifier"":"""                 + id + @""",
				 ""name"":""Nkonya 2011"",
				 ""repository"":""http:\/\/public.languageforge.org"",
				 ""role"":""unknown"",
				 ""owner"":""nko-admin""
			}]"            ;

            var m = new ServerSettingsModel();

            // SUT
            m.PopulateAvailableProjects(json);

            Assert.AreEqual(1, m.AvailableProjects.Count, "number of available projects");
            CollectionAssert.Contains(m.AvailableProjects, id);
        }