public void EmptyListSetTagsTest() { Report r = new Report(); List<String> tags = new List<String>(); r.setTags(tags); Assert.AreNotEqual(r.isTagsReady(), true); }
public void NonEmptyListSetTagsTest() { Report r = new Report(); List<String> tags = new List<String>(); tags.Add("Vandalism"); r.setTags(tags); Assert.AreEqual(r.isTagsReady(), true); }
public async Task MinimalReportTest() { String date = dt.ToString("dd_MM_yyyy_H_mm_ss"); Report r = new Report(); var localStorage = ApplicationData.Current.LocalFolder; var file = await localStorage.CreateFileAsync("RiverWatchImage_" + date + ".jpg"); r.setImage(file); while (!r.isGeolocationReady()) { await Task.Delay(2000); } Assert.AreEqual(r.isReportReady(), true); }
internal static async Task<Report> GenerateFromString(string savedReportString) { Report newReport = new Report(); int count = 0; string[] reportComponents = savedReportString.Split(new String[] { ":~:" }, StringSplitOptions.None); newReport.setImage(await ApplicationData.Current.LocalFolder.GetFileAsync(reportComponents[count++])); string logit = reportComponents[count++]; string latit = reportComponents[count++]; newReport.setGeolocation(logit, latit); int noTags = Int32.Parse(reportComponents[count++]); try { List<string> tags = new List<string>(); for (int i = 0; i < noTags; i++) { tags.Add(reportComponents[count++]); } newReport.setTags(tags); newReport.setDescription(reportComponents[count]); } catch (NullReferenceException) { Debug.WriteLine("Reached end of input String"); } return newReport; }
private async Task DisplayReportContent() { string fileContent; using (StreamReader s = new StreamReader(await currentReportFile.OpenStreamForReadAsync())) { fileContent = await s.ReadToEndAsync(); s.Dispose(); } //Report currReport = new Report(fileContent); currentReport = await Report.GenerateFromString(fileContent); PageTitle.Text = currentReport.getReportName(); imagePreview.Source = new BitmapImage(new Uri(currentReport.getImage().Path)); GeolocationToolTip.FontSize = 15; GeolocationToolTip.Text = "Latitude: " + currentReport.getLatitude() + "\n\nLongitude: " + currentReport.getLongitude(); if (!currentReport.isTagsReady()) { TagsToolTip.FontSize = 20; TagsToolTip.Text = "No tags"; } else { // display as much selected tags String t = ""; int NoOfTags = currentReport.getTags().Count; if (NoOfTags == 0) { TagsToolTip.FontSize = 20; TagsToolTip.Text = "No tags"; currentReport.setTagsNotReady(); } else { int TagCount = 0; int TagLimit = 8; int LineCount = 0; int LineLimit = 3; foreach (String element in currentReport.getTags()) { // if we've displayed 6 tags if (TagCount >= TagLimit) { break; } // if we've got two tags on a line if (!(LineCount < LineLimit)) { t += "\n"; LineCount = 0; } // append tag t += "#" + element + ", "; LineCount++; TagCount++; } // remove extra comma t = t.Substring(0, t.Length - 2); // if user selected more than 6 tags, add a ... if (NoOfTags > TagLimit) { t += "..."; } // display tags TagsToolTip.FontSize = 15; TagsToolTip.Text = t; } } // display description if (!currentReport.isDescriptionReady()) { DescriptionToolTip.FontSize = 20; DescriptionToolTip.Text = "No description"; } else { String desc = currentReport.getDescription(); if (desc.Length == 0) { DescriptionToolTip.FontSize = 20; DescriptionToolTip.Text = "No description"; currentReport.setDescriptionNotReady(); } else { // need to parse out trailing whitespace DescriptionToolTip.FontSize = 15; DescriptionToolTip.Text = desc.Trim(); } } }
public async Task DiscardReportTest() { String date = dt.ToString("dd_MM_yyyy_H_mm_ss"); Report r = new Report(); var localStorage = ApplicationData.Current.LocalFolder; var file = await localStorage.CreateFileAsync("RiverWatchImage_" + date + ".jpg"); r.setImage(file); while (!r.isGeolocationReady()) { await Task.Delay(2000); } r.discardReport(true); bool filePresent = await IsFilePresent("RiverWatchImage_" + date + ".jpg"); Assert.AreEqual(filePresent, false); }
public void SetDescriptionTest() { Report r = new Report(); r.setDescription("A Description"); Assert.AreEqual(r.isDescriptionReady(), true); }