public void GivenKParameterOne_ShouldReturnTheSameList() { var ageAnonimizator = new KNumberAnonimization <string>(1, p => p.Age); var anonymzed = ageAnonimizator.GetAnonymizedData(_people); Assert.IsTrue(anonymzed.All(p => p.Age == _people.First(x => x.FirstName == p.FirstName && x.Surname == p.Surname).Age)); }
public void GivenEmptyPeopleList_ShouldReturn_EmptyList() { var ageAnonimizator = new KNumberAnonimization <string>(2, p => p.Age); var anonymzed = ageAnonimizator.GetAnonymizedData(new List <Person>()); Assert.IsTrue(!anonymzed.Any()); }
public void GivenInvalidData_ShouldThrowException() { var invalidData = _people.Union(new List <Person> { new Person("K", "Malarz", "Olawa", "Julia", "Wojcik", "invalid") }); var ageAnonimizator = new KNumberAnonimization <string>(1, p => p.Age); var anonymzed = ageAnonimizator.GetAnonymizedData(invalidData); }
public void GivenKParameter_GreaterThan_1_ShouldReturnAnonymyzedList(int parameterK) { var ageAnonimizator = new KNumberAnonimization <string>(parameterK, p => p.Age); var anonymzed = ageAnonimizator.GetAnonymizedData(_people); Assert.AreEqual(_people.Count, anonymzed.Count); //All Groups have at least K people Assert.IsTrue(anonymzed.GroupBy(x => x.Age).Select(g => g.Count()).All(c => c >= parameterK)); //No overlapping groups Assert.IsTrue(!AreIntervalsOverlapping(anonymzed)); }