public void Parse() { RUID gen = RUID.Generate(); Console.WriteLine(gen.ToString()); Assert.Equal(gen, RUID.Parse(gen.ToString())); Assert.Equal(gen.GetHashCode(), new RUID(gen.Bytes()).GetHashCode()); var sorted = new List <RUID>(); for (int i = 0; i < 30; i++) { sorted.Add(RUID.Generate()); } sorted.Sort(); List <RUID> shuffled = new List <RUID>(sorted); shuffled = shuffled.OrderBy(a => Guid.NewGuid()).ToList(); shuffled.Sort(); Assert.Equal(sorted, shuffled); }
public void Json() { RUID original = RUID.Generate(); String json = JsonConvert.SerializeObject(original); RUID deserialized = JsonConvert.DeserializeObject <RUID>(json); Assert.Equal(original, deserialized); }
public bool AddRating(AddRating model) { var ratings = db.Ratings.Include(u => u.UIDs).Where(pid => pid.PostId == model.PostId).FirstOrDefault(); if (ratings == null) { Rating l = new Rating(); l.PostId = model.PostId; RUID uID = new RUID(); uID.U_ID = model.UserId; l.UIDs.Add(uID); l.TotalRating = model.RatingValue; l.AverageRating = model.RatingValue; return(base.Add(l)); } foreach (var u in ratings.UIDs) { if (u.U_ID == model.UserId) { return(false); } } RUID ID = new RUID(); ID.U_ID = model.UserId; ratings.UIDs.Add(ID); ratings.TotalRating = ratings.TotalRating + model.RatingValue; double avg = (double)ratings.TotalRating / ratings.UIDs.Count; double avgValue = Math.Round(avg, 1); ratings.AverageRating = avgValue; return(base.Update(ratings)); }