public static bool SameValue(this OlaMark lhs, OlaMark rhs) { return (lhs.Session == rhs.Session && lhs.MarkStamp.ToString(CultureInfo.InvariantCulture) == rhs.MarkStamp.ToString(CultureInfo.InvariantCulture) && lhs.MarkAbbrev == rhs.MarkAbbrev && lhs.MarkingUserId == rhs.MarkingUserId && lhs.MarkId == rhs.MarkId && lhs.Student == rhs.Student && lhs.StudentContext == rhs.StudentContext && lhs.StudentId == rhs.StudentId && lhs.Room == rhs.Room && lhs.RoomContext == rhs.RoomContext && lhs.RoomId == rhs.RoomId && lhs.Status == rhs.Status && lhs.EventId == rhs.EventId && lhs.Week == rhs.Week && lhs.Uploaded.ToString(CultureInfo.InvariantCulture) == rhs.Uploaded.ToString(CultureInfo.InvariantCulture) && lhs.Processed == rhs.Processed); }
protected override async Task TestPost() { FNewlyInsertedOLAMarks = new List <OlaMark>(); Uri uri = new Uri(FBaseUri, "OLAStaging"); int numIters = FRandom.Next(4, 10); for (int n = 0; n < numIters; ++n) { var newDefn = new OlaMark { Session = FRandom.Next(), MarkStamp = GetRandomDate(), MarkAbbrev = GetRandomString(1, false), MarkingUserId = FRandom.Next(), MarkId = FRandom.Next(), Student = GetRandomString(FRandom.Next(1, 129), true), StudentContext = 1, Room = GetRandomString(FRandom.Next(1, 129), true), RoomContext = 1, Status = FRandom.Next(), Uploaded = DateTime.Now, Processed = FRandom.Next(0, 100) }; if (FRandom.Next(0, 2) == 1) { newDefn.StudentId = FRandom.Next(); } if (FRandom.Next(0, 2) == 1) { newDefn.RoomId = FRandom.Next(); } if (FRandom.Next(0, 2) == 1) { newDefn.EventId = FRandom.Next(); } if (FRandom.Next(0, 2) == 1) { newDefn.Week = FRandom.Next(); } var response = await FClient.PostAsJsonAsync(uri.ToString(), newDefn); await CheckStatusCodeIs(response, HttpStatusCode.Created); var md = await response.Content.ReadAsAsync <OlaMark>(); md.CheckSameValues(newDefn); FNewlyInsertedOLAMarks.Add(md); } // perform the GETItem check here... foreach (var m in FNewlyInsertedOLAMarks) { uri = new Uri(FBaseUri, string.Format("OLAStaging/{0}", m.Id)); var response = await FClient.GetAsync(uri); await CheckSuccessStatusCode(response); var md = await response.Content.ReadAsAsync <OlaMark>(); md.CheckSameValues(m); } }