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); }
public void PopulateAvailableProjects_ThrowsBadJson() { const string badJson = @"[{""identifier"":(}]"; var m = new ServerSettingsModel(); // SUT Assert.Throws <JsonReaderException>(() => m.PopulateAvailableProjects(badJson)); }
public void PopulateAvailableProjects_NoProjects([Values("", "[]")] string json) { var m = new ServerSettingsModel(); // SUT m.PopulateAvailableProjects(json); CollectionAssert.IsEmpty(m.AvailableProjects); }
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); }
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); }