Beispiel #1
0
        void WhenNoElement_GetEmptyResult()
        {
            var s = new CitiesSuggestions.CoreLogic.DistanceScore();
            var r = s.ComputeScore(new List <CitiesSuggestions.CityData>(), "A", new GeoCoordinatePortable.GeoCoordinate());

            Assert.Empty(r);
        }
Beispiel #2
0
        void WhenOneElement_GetPerfectScore()
        {
            var cities = new List <CitiesSuggestions.CityData>();

            cities.Add(new CitiesSuggestions.CityData()
            {
                Name = "Abc", Population = 1234, Location = new GeoCoordinatePortable.GeoCoordinate(2, 2)
            });
            var s = new CitiesSuggestions.CoreLogic.DistanceScore();
            var r = s.ComputeScore(cities, "A", new GeoCoordinatePortable.GeoCoordinate(4, 4));

            Assert.Equal(1.0, r[0]);
        }
Beispiel #3
0
        void WhenTwoElements_OneHasPerfectScore()
        {
            var cities = new List <CitiesSuggestions.CityData>();

            cities.Add(new CitiesSuggestions.CityData()
            {
                Name = "Abc", Population = 1234, Location = new GeoCoordinatePortable.GeoCoordinate(2, 2)
            });
            cities.Add(new CitiesSuggestions.CityData()
            {
                Name = "DEF", Population = 1234, Location = new GeoCoordinatePortable.GeoCoordinate(3, 3)
            });
            var s = new CitiesSuggestions.CoreLogic.DistanceScore();
            var r = s.ComputeScore(cities, "A", new GeoCoordinatePortable.GeoCoordinate(3.1, 3.1));

            Assert.Equal(1.0, r[1]);
            Assert.True(r[1] > r[0]);
        }
Beispiel #4
0
        void WhenVaryingInputs_ScoreInRange()
        {
            var cities = new List <CitiesSuggestions.CityData>();

            cities.Add(new CitiesSuggestions.CityData()
            {
                Name = "Abc", Population = 1234, Location = new GeoCoordinatePortable.GeoCoordinate(1, 2)
            });
            cities.Add(new CitiesSuggestions.CityData()
            {
                Name = "DEF", Population = 1234, Location = new GeoCoordinatePortable.GeoCoordinate(2, 2)
            });
            cities.Add(new CitiesSuggestions.CityData()
            {
                Name = "Hij", Population = 1234, Location = new GeoCoordinatePortable.GeoCoordinate(3, 3)
            });
            cities.Add(new CitiesSuggestions.CityData()
            {
                Name = "k", Population = 1234, Location = new GeoCoordinatePortable.GeoCoordinate(4, 3)
            });
            cities.Add(new CitiesSuggestions.CityData()
            {
                Name = "l", Population = 1234, Location = new GeoCoordinatePortable.GeoCoordinate(10, 3)
            });
            cities.Add(new CitiesSuggestions.CityData()
            {
                Name = "mn", Population = 1234, Location = new GeoCoordinatePortable.GeoCoordinate(9, 3)
            });
            cities.Add(new CitiesSuggestions.CityData()
            {
                Name = "op", Population = 1234, Location = new GeoCoordinatePortable.GeoCoordinate(8, 3)
            });
            var s = new CitiesSuggestions.CoreLogic.DistanceScore();
            var r = s.ComputeScore(cities, "A", new GeoCoordinatePortable.GeoCoordinate(3, 3));

            foreach (var score in r)
            {
                Assert.True(score >= 0);
                Assert.True(score <= 1.0);
            }
        }
Beispiel #5
0
        void WhenSameDistance_GetSameScore()
        {
            var cities = new List <CitiesSuggestions.CityData>();

            cities.Add(new CitiesSuggestions.CityData()
            {
                Name = "Abc", Population = 1234, Location = new GeoCoordinatePortable.GeoCoordinate(4, 2)
            });
            cities.Add(new CitiesSuggestions.CityData()
            {
                Name = "DEF", Population = 1234, Location = new GeoCoordinatePortable.GeoCoordinate(4, 2)
            });
            cities.Add(new CitiesSuggestions.CityData()
            {
                Name = "Hij", Population = 1234, Location = new GeoCoordinatePortable.GeoCoordinate(3, 3)
            });
            var s = new CitiesSuggestions.CoreLogic.DistanceScore();
            var r = s.ComputeScore(cities, "A", new GeoCoordinatePortable.GeoCoordinate(3.1, 3.1));

            Assert.True(r[0] == r[1]);
        }