예제 #1
0
        public void TestSpecialUserType(decimal latitude, decimal longitude)
        {
            /* Special Type bounding boxes:
             *  minlon: -2.196998
             *  minlat -46.361899
             *  maxlon: -15.411580
             *  maxlat: -34.276938
             *
             *  and
             *
             *  minlon: -19.766959
             *  minlat -52.997614
             *  maxlon: -23.966413
             *  maxlat: -44.428305
             */
            Coordinates coordinates = new Coordinates()
            {
                Latitude = latitude, Longitude = longitude
            };
            Location specialLocation = new BrazilianLocation()
            {
                Coordinates = coordinates
            };
            User user = new User()
            {
                Location = specialLocation
            };

            Assert.Equal("special", UserType.GetUserType(user));
        }
예제 #2
0
        public void TestBrazilianSouthEastRegion(string state)
        {
            BrazilianLocation location = new BrazilianLocation()
            {
                State = state
            };

            Assert.Equal("south east", location.Region);
        }
예제 #3
0
        public void TestBrazilianCenterWestRegion(string state)
        {
            BrazilianLocation location = new BrazilianLocation()
            {
                State = state
            };

            Assert.Equal("center west", location.Region);
        }
예제 #4
0
        public void TestBrazilianNorthRegion(string state)
        {
            BrazilianLocation location = new BrazilianLocation()
            {
                State = state
            };

            Assert.Equal("north", location.Region);
        }
예제 #5
0
        public static User parseUserDTO(UserDTO userDTO, string phoneRegion, string defaultNationality)
        {
            Name name = new Name()
            {
                Title = userDTO.Name?.Title,
                First = userDTO.Name?.First,
                Last  = userDTO.Name?.Last
            };
            Coordinates coordinates = new Coordinates()
            {
                Latitude  = Convert.ToDecimal(userDTO.Location?.Coordinates?.Latitude),
                Longitude = Convert.ToDecimal(userDTO.Location?.Coordinates?.Longitude)
            };
            Timezone timezone = new Timezone()
            {
                Offset      = userDTO.Location?.Timezone?.Offset,
                Description = userDTO.Location?.Timezone?.Description
            };
            Location location = new BrazilianLocation()
            {
                Street      = userDTO.Location?.Street,
                City        = userDTO.Location?.City,
                Postcode    = userDTO.Location?.PostalCode,
                State       = userDTO.Location?.State,
                Coordinates = coordinates,
                Timezone    = timezone
            };
            Picture picture = new Picture()
            {
                Large     = userDTO.Picture?.Large,
                Medium    = userDTO.Picture?.Medium,
                Thumbnail = userDTO.Picture?.Thumbnail
            };

            return(new User()
            {
                Email = userDTO.Email,
                Gender = userDTO.Gender,
                Name = name,
                TelephoneNumbers = PhoneUtil
                                   .RetrieveValidPhoneNumbers(new List <string>()
                {
                    userDTO.Phone ?? ""
                }, phoneRegion)
                                   .Select(PhoneUtil.ConvertToE164Format),
                MobileNumbers = PhoneUtil
                                .RetrieveValidPhoneNumbers(new List <string>()
                {
                    userDTO.CellPhone ?? ""
                }, phoneRegion)
                                .Select(PhoneUtil.ConvertToE164Format),
                Registered = userDTO.Registered?.Date,
                Birthday = userDTO.Birth?.Date,
                Picture = picture,
                Nationality = defaultNationality,
            });
        }
예제 #6
0
        private User CreateBrazilLocatedUser(Coordinates coordinates, string state)
        {
            Location location = new BrazilianLocation()
            {
                State = state, Coordinates = coordinates, Timezone = new Timezone()
            };

            return(CreateUser(location));
        }
예제 #7
0
        public void TestLaboriousUserType()
        {
            Coordinates coordinates = new Coordinates()
            {
                Latitude = 0, Longitude = 0
            };
            Location laboriousLocation = new BrazilianLocation()
            {
                Coordinates = coordinates
            };
            User user = new User()
            {
                Location = laboriousLocation
            };

            Assert.Equal("laborious", UserType.GetUserType(user));
        }
예제 #8
0
        public void TestNormalUserType()
        {
            /* Normal Type bounding boxes:
             *  minlon: -26.155681
             *  minlat -54.777426
             *  maxlon: -34.016466
             *  maxlat: -46.603598
             */
            Coordinates coordinates = new Coordinates()
            {
                Latitude = -50, Longitude = -30
            };
            Location normalLocation = new BrazilianLocation()
            {
                Coordinates = coordinates
            };
            User user = new User()
            {
                Location = normalLocation
            };

            Assert.Equal("normal", UserType.GetUserType(user));
        }