테스트 1: 쇼핑몰에서 사용자 등록을 위한 정보

결과: {'count': 6, 'fields': [{'name': 'full_name', 'type': 'full_name', 'constraints': {}, 'nullablePercent': 0}, {'name': 'email', 'type': 'email_address', 'constraints': {}, 'nullablePercent': 0}, {'name': 'password', 'type': 'password', 'constraints': {'minimum_length': 8}, 'nullablePercent': 0}, {'name': 'address', 'type': 'address', 'constraints': {}, 'nullablePercent': 0}, {'name': 'phone', 'type': 'phone', 'constraints': {}, 'nullablePercent': 0}, {'name': 'birth_date', 'type': 'datetime', 'constraints': {'format': 'yyyy-mm-dd'}, 'nullablePercent': 0}]}

테스트 2: 프로필 이미지 100x100 png 형식으로 설정해주고, 나이는 20 이상 60 이하, 소수점 1자리, nullable 10%

결과: {'count': 2, 'fields': [{'name': 'profile_image', 'type': 'avatar', 'constraints': {'size': '100x100', 'format': 'png'}, 'nullablePercent': 10}, {'name': 'age', 'type': 'number_between_1_100', 'constraints': {'min': 20, 'max': 60, 'decimals': 1}, 'nullablePercent': 10}]}

테스트 3: 비밀번호는 최소 12자 이상이고 대문자 2개, 소문자 2개, 숫자 2개, 특수문자 2개 포함, 이메일은 naver.com만

결과: {'count': 2, 'fields': [{'name': 'password', 'type': 'password', 'constraints': {'minimum_length': 12, 'upper': 2, 'lower': 2, 'numbers': 2, 'symbols': 2}, 'nullablePercent': 0}, {'name': 'email', 'type': 'email_address', 'constraints': {'domain': 'naver.com'}, 'nullablePercent': 0}]}

테스트 4: 전화번호는 010으로 시작하고, 생년월일은 yyyy-mm-dd 형식으로, nullable 5%

결과: {'count': 2, 'fields': [{'name': 'phone', 'type': 'phone', 'constraints': {'format': '###-###-####'}, 'nullablePercent': 5}, {'name': 'birth_date', 'type': 'datetime', 'constraints': {'format': 'yyyy-mm-dd'}, 'nullablePercent': 5}]}

테스트 5: E-commerce user registration form with profile image 150x150 jpg format

결과: {'count': 1, 'fields': [{'name': 'profile_image', 'type': 'avatar', 'constraints': {'size': '150x150', 'format': 'jpg'}, 'nullablePercent': 0}]}

테스트 6: Password minimum 10 characters with uppercase, lowercase, numbers, symbols. Email only gmail.com

결과: {'count': 2, 'fields': [{'name': 'password', 'type': 'password', 'constraints': {'minimum_length': 10, 'upper': 1, 'lower': 1, 'numbers': 1, 'symbols': 1}, 'nullablePercent': 0}, {'name': 'email', 'type': 'email_address', 'constraints': {'domain': 'gmail.com'}, 'nullablePercent': 0}]}

테스트 7: 온라인 교육 플랫폼 회원가입: 이름, 이메일(gmail.com만), 비밀번호(최소 10자 대문자 1개 소문자 1개 숫자 1개), 프로필 이미지(300x300 png), 나이(15 이상 70 이하), nullable 10%

결과: {'count': 5, 'fields': [{'name': 'full_name', 'type': 'korean_full_name', 'constraints': {}, 'nullablePercent': 10}, {'name': 'email', 'type': 'email_address', 'constraints': {'domain': 'gmail.com'}, 'nullablePercent': 10}, {'name': 'password', 'type': 'password', 'constraints': {'minimum_length': 10, 'upper': 1, 'lower': 1, 'numbers': 1}, 'nullablePercent': 10}, {'name': 'profile_image', 'type': 'avatar', 'constraints': {'size': '300x300', 'format': 'png'}, 'nullablePercent': 10}, {'name': 'age', 'type': 'number_between_1_100', 'constraints': {'min': 15, 'max': 70, 'decimals': 0}, 'nullablePercent': 10}]}

테스트 8: 온라인 교육 플랫폼 회원가입: 이름, 이메일(gmail.com만), 비밀번호(최소 10자 대문자 1개 소문자 1개 숫자 1개), 프로필 이미지(300x300 png), 나이(15 이상 70 이하

결과: {'count': 5, 'fields': [{'name': 'full_name', 'type': 'korean_full_name', 'constraints': {}, 'nullablePercent': 0}, {'name': 'email', 'type': 'email_address', 'constraints': {'domain': 'gmail.com'}, 'nullablePercent': 0}, {'name': 'password', 'type': 'password', 'constraints': {'minimum_length': 10, 'upper': 1, 'lower': 1, 'numbers': 1}, 'nullablePercent': 0}, {'name': 'profile_image', 'type': 'avatar', 'constraints': {'size': '300x300', 'format': 'png'}, 'nullablePercent': 0}, {'name': 'age', 'type': 'number_between_1_100', 'constraints': {'min': 15, 'max': 70, 'decimals': 0}, 'nullablePercent': 0}]}

테스트 9: 정확히 3개의 문단, null 10

결과: {'count': 1, 'fields': [{'name': 'description', 'type': 'paragraphs', 'constraints': {'at least': 3, 'but no more than': 3}, 'nullablePercent': 10}]}

테스트 10: 사용자 프로필: 이름, 나이, 이메일, 비밀번호, 프로필 이미지

결과: {'count': 5, 'fields': [{'name': 'full_name', 'type': 'korean_full_name', 'constraints': {}, 'nullablePercent': 0}, {'name': 'age', 'type': 'number_between_1_100', 'constraints': {'min': 1, 'max': 100, 'decimals': 0}, 'nullablePercent': 0}, {'name': 'email', 'type': 'email_address', 'constraints': {}, 'nullablePercent': 0}, {'name': 'password', 'type': 'password', 'constraints': {}, 'nullablePercent': 0}, {'name': 'profile_image', 'type': 'avatar', 'constraints': {}, 'nullablePercent': 0}]}