Skip to content

Commit

Permalink
finish check
Browse files Browse the repository at this point in the history
  • Loading branch information
MarieTask committed Feb 6, 2024
1 parent 709d6f3 commit 735d22f
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 21 deletions.
4 changes: 2 additions & 2 deletions app/src/main/java/hexlet/code/schemas/MapSchema.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ public MapSchema sizeof(int countPairs) {
super.addCondition(s -> s.size() == countPairs);
return this;
}
public MapSchema shape(Map<String, BaseSchema<String>> map) {
map.keySet().forEach(key -> super.addCondition(s -> map.get(key).isValid((String) s.get(key))));
public <T> MapSchema shape(Map<String, BaseSchema<T>> schemas) {
schemas.keySet().forEach(key -> super.addCondition(s -> schemas.get(key).isValid((T) s.get(key))));
return this;
}
}
4 changes: 2 additions & 2 deletions app/src/main/java/hexlet/code/schemas/NumberSchema.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@ public NumberSchema required() {
}

public NumberSchema positive() {
Predicate<Integer> posConditions = s -> (int) s > 0;
Predicate<Integer> posConditions = s -> s > 0;
addCondition(posConditions);
return this;
}

public NumberSchema range(int min, int max) {
Predicate<Integer> numRange = s -> (int) s >= min && (int) s <= max;
Predicate<Integer> numRange = s -> s >= min && s <= max;
addCondition(numRange);
return this;
}
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/java/hexlet/code/schemas/StringSchema.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public StringSchema minLength(int userNumber) {
}

public StringSchema contains(String userData) {
Predicate<String> containsString = s -> ((String) s).contains(userData);
Predicate<String> containsString = s -> s.contains(userData);
super.addCondition(containsString);
return this;
}
Expand Down
23 changes: 9 additions & 14 deletions app/src/test/java/hexlet/code/TestMapSchema.java
Original file line number Diff line number Diff line change
Expand Up @@ -31,18 +31,13 @@ public void beforeEach() {
public void beforeRequiredTest() {
assertTrue(schema.isValid(null));
assertTrue(schema.isValid(new HashMap<>()));
assertTrue(schema.isValid(""));
assertTrue(schema.isValid(" "));
assertTrue(schema.isValid(1));
}

@Test
public void requiredIsValidTest() {
schema.required();
assertFalse(schema.isValid(null));
assertFalse(schema.isValid(""));
assertFalse(schema.isValid(" "));
assertFalse(schema.isValid(1));
assertTrue(schema.isValid(new HashMap<>()));
}

@Test
Expand All @@ -59,10 +54,10 @@ public void firstRequiredMethodsChainTest() {
}

@Test
public void shapeTest1() {
Map<String, BaseSchema> schemas = new HashMap<>();
schemas.put("name", Validator.string().required());
schemas.put("age", Validator.number().range(MIN, MAX));
public <T> void shapeTest1() {
Map<String, BaseSchema<T>> schemas = new HashMap<>();
schemas.put("name", (BaseSchema<T>) Validator.string().required());
schemas.put("age", (BaseSchema<T>) Validator.number().range(MIN, MAX));

schema.shape(schemas);

Expand Down Expand Up @@ -93,10 +88,10 @@ public void shapeTest1() {
}

@Test
public void shapeTest2() {
Map<String, BaseSchema> schemas = new HashMap<>();
schemas.put("name", Validator.string().minLength(MIN_LENGTH));
schemas.put("age", Validator.number().range(MIN, MAX).required());
public <T> void shapeTest2() {
Map<String, BaseSchema<T>> schemas = new HashMap<>();
schemas.put("name", (BaseSchema<T>) Validator.string().minLength(MIN_LENGTH));
schemas.put("age", (BaseSchema<T>) Validator.number().range(MIN, MAX).required());

schema.shape(schemas);

Expand Down
2 changes: 1 addition & 1 deletion app/src/test/java/hexlet/code/TestNumberSchema.java
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public void beforeRequiredTest() {
public void requiredIsValidTest() {
schema.required();
assertFalse(schema.isValid(null));
assertFalse(schema.isValid(""));
assertFalse(schema.isValid(Integer.valueOf("")));
assertTrue(schema.isValid(RANDOM_INTEGER));
assertTrue(schema.isValid(LESS_ZERO));
}
Expand Down
2 changes: 1 addition & 1 deletion app/src/test/java/hexlet/code/TestStringSchema.java
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public void requiredIsValidTest() {
schema.required();
assertFalse(schema.isValid(null));
assertFalse(schema.isValid(""));
assertFalse(schema.isValid(RANDOM_INTEGER));
assertFalse(schema.isValid(String.valueOf(RANDOM_INTEGER)));
assertTrue(schema.isValid("String"));
}

Expand Down

0 comments on commit 735d22f

Please sign in to comment.