/
LuvDyrachyo
/
Validator_Java
Обзор
Документация
Войти
/
LuvDyrachyo
/
Validator_Java
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
app/src/test/java/hexlet/code/ValidatorTest.java
125 строк
4 KB
ynb4gang
first update
02 апр 2024, 10:17
02 апр 2024, 10:17
37663e5
Код
Авторство
О чём код?
package hexlet.code; import hexlet.code.schemas.BaseSchema; import hexlet.code.schemas.MapSchema; import hexlet.code.schemas.NumberSchema; import hexlet.code.schemas.StringSchema; import org.junit.jupiter.api.Test; import java.util.HashMap; import java.util.Map; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; public class ValidatorTest { @Test public void testNumberSchemaValidation() { Validator v = new Validator(); NumberSchema schema = v.number(); assertTrue(schema.isValid(5)); assertTrue(schema.isValid(null)); assertTrue(schema.positive().isValid(null)); schema.required(); assertFalse(schema.isValid(null)); assertTrue(schema.isValid(10)); assertFalse(schema.isValid(-10)); assertFalse(schema.isValid(0)); schema.range(5, 10); assertTrue(schema.isValid(5)); assertTrue(schema.isValid(10)); assertFalse(schema.isValid(4)); assertFalse(schema.isValid(11)); schema.positive(); assertTrue(schema.positive().isValid(5)); assertFalse(schema.positive().isValid(0)); assertFalse(schema.positive().isValid(-5)); } @Test public void testStringSchemaValidation() { Validator v = new Validator(); StringSchema schema = v.string(); assertTrue(schema.isValid("")); assertTrue(schema.isValid(null)); schema.required(); assertFalse(schema.isValid(null)); assertFalse(schema.isValid("")); assertTrue(schema.isValid("what does the fox say")); assertTrue(schema.isValid("hexlet")); assertTrue(schema.contains("wh").isValid("what does the fox say")); assertTrue(schema.contains("what").isValid("what does the fox say")); assertFalse(schema.contains("whatthe").isValid("what does the fox say")); assertFalse(schema.isValid("what does the fox say")); assertFalse(schema.minLength(6).isValid("fox")); assertFalse(schema.minLength(5).isValid(null)); assertFalse(schema.isValid("what does the fox say")); assertFalse(schema.isValid("what")); assertFalse(schema.contains("what").isValid("what")); } @Test public void testMapSchemaValidation() { Validator v = new Validator(); MapSchema schema = v.map(); assertTrue(schema.isValid(null)); schema.required(); assertFalse(schema.isValid(null)); assertTrue(schema.isValid(new HashMap<>())); Map<String, String> data = new HashMap<>(); data.put("key1", "value1"); assertTrue(schema.isValid(data)); schema.sizeof(2); assertFalse(schema.isValid(data)); data.put("key2", "value2"); assertTrue(schema.isValid(data)); } @Test public void testMapSchemaValidation2() { Validator v = new Validator(); MapSchema schema = v.map(); Map<String, BaseSchema> schemas = new HashMap<>(); schemas.put("firstName", v.string().required()); schemas.put("lastName", v.string().required().minLength(2)); schemas.put("age", v.number().required().positive()); schema.shape(schemas); Map<String, Object> human1 = new HashMap<>(); human1.put("firstName", "John"); human1.put("lastName", "Smith"); human1.put("age", 30); assertTrue(schema.isValid(human1)); Map<String, Object> human2 = new HashMap<>(); human2.put("firstName", "Anna"); human2.put("lastName", "B"); human2.put("age", -5); assertFalse(schema.isValid(human2)); Map<String, Object> human3 = new HashMap<>(); human3.put("firstName", "Nick"); human3.put("lastName", null); human3.put("age", 45); assertFalse(schema.isValid(human3)); } }