Валидатор ругается на 2-й и 4-й. Соответствующие вызовы в методах есть.
- В методе testStorage должны быть трижды вызваны методы getId и getString.
- В каждом тестовом методе должен содержаться вызов метода testStorage.
После того как убрал static у метода testStorage первая ошибка ушла, вторая осталась.
package com.javarush.task.task33.task3310;
import com.javarush.task.task33.task3310.strategy.HashMapStorageStrategy;
import com.javarush.task.task33.task3310.strategy.StorageStrategy;
import java.util.*;
public class Solution {
public static void main(String[] args) {
testStrategy(new HashMapStorageStrategy(), 10000);
}
public static Set<Long> getIds(Shortener shortener, Set<String> strings) {
Set<Long> result = new HashSet<>();
for (String str : strings) {
result.add(shortener.getId(str));
}
return result;
}
public static Set<String> getStrings(Shortener shortener, Set<Long> keys) {
Set<String> result = new HashSet<>();
for (Long id : keys) {
result.add(shortener.getString(id));
}
return result;
}
public static void testStrategy(StorageStrategy strategy, long elementsNumber) {
Helper.printMessage(strategy.getClass().getSimpleName());
Set<String> testData = new HashSet<>();
for (long i = 0; i < elementsNumber; i++) {
testData.add(Helper.generateRandomString());
}
Shortener shortener = new Shortener(strategy);
Date startDate = new Date();
Set<Long> ids = getIds(shortener, testData);
Helper.printMessage("" + (new Date().getTime() - startDate.getTime()));
startDate = new Date();
Set<String> strs = getStrings(shortener, ids);
Helper.printMessage("" + (new Date().getTime() - startDate.getTime()));
// if (testData.size() == strs.size())
// Helper.printMessage("Тест пройден");
// else {
// Helper.printMessage("Тест не пройден");
// }
if (testData.equals(strs))
Helper.printMessage("Тест пройден.");
else {
Helper.printMessage("Тест не пройден.");
}
}
}