Example #1
0
        public void GivenKParameterOne_ShouldReturnTheSameList()
        {
            //Arrange
            var algorithm = new KCityAnonimization(1, _cityDictionary);

            //Act
            var anonymzed = algorithm.GetAnonymizedData(new List <Person>());

            //Assert
            Assert.IsTrue(anonymzed.All(p => p.Age == _people.First(x => x.FirstName == p.FirstName && x.Surname == p.Surname).Age));
        }
Example #2
0
        public void GivenEmptyPeopleList_ShouldReturn_EmptyList()
        {
            //Arrange
            var algorithm = new KCityAnonimization(2, _cityDictionary);

            //Act
            var anonymzed = algorithm.GetAnonymizedData(new List <Person>());

            //Assert
            Assert.IsTrue(!anonymzed.Any());
        }
Example #3
0
        public void GivenKParameter_GreaterThan_1_ShouldReturnAnonymyzedList(int parameterK)
        {
            //Arrange
            var algorithm = new KCityAnonimization(parameterK, _cityDictionary);
            //Act
            var anonymzed = algorithm.GetAnonymizedData(_people);

            //Assert

            Assert.AreEqual(_people.Count, anonymzed.Count);
            //All Groups have at least K people
            Assert.IsTrue(anonymzed.GroupBy(x => x.City).Select(g => g.Count()).All(c => c >= parameterK));
        }