Мы много раз тестировали наши стратегии с помощью метода testStrategy() класса Solution. Пришло время написать настоящие юнит тесты с использованием junit.
14.1. Прочитай что такое юнит тесты.
14.2. Скачай и подключи библиотеку Junit 4.12. Разберись как ей пользоваться. Библиотека Junit зависит от библиотеки hamcrest-core. Подключи и ее. Используй версию 1.3.
14.3. Добавь класс FunctionalTest в пакет tests. В этом классе мы проверим функциональность наших стратегий.
14.4. Добавь в класс FunctionalTest метод testStorage(Shortener shortener). Он должен:
14.4.1. Создавать три строки. Текст 1 и 3 строк должен быть одинаковым.
14.4.2. Получать и сохранять идентификаторы для всех трех строк с помощью shortener.
14.4.3. Проверять, что идентификатор для 2строки не равен идентификатору для1 и 3 строк.
Подсказка:метод Assert.assertNotEquals.
14.4.4. Проверять, что идентификаторы для 1 и 3 строк равны.
Подсказка:метод Assert.assertEquals.
14.4.5. Получать три строки по трем идентификаторам с помощью shortener.
14.4.6. Проверять, что строки, полученные в предыдущем пункте, эквивалентны оригинальным.
Подсказка:метод Assert.assertEquals.
14.5. Добавь в класс FunctionalTest тесты:
14.5.1. testHashMapStorageStrategy()
14.5.2. testOurHashMapStorageStrategy()
14.5.3. testFileStorageStrategy()
14.5.4. testHashBiMapStorageStrategy()
14.5.5. testDualHashBidiMapStorageStrategy()
14.5.6. testOurHashBiMapStorageStrategy()
Каждый тест должен иметь аннотацию @Test, создавать подходящую стратегию, создавать объект класса Shortener на базе этой стратегии и вызывать метод testStorage для него.
Запусти и проверь, что все тесты проходят.
Требования:
Класс FunctionalTest должен быть добавлен в созданный пакет tests.
В методе testStorage должны быть трижды вызваны методы getId и getString.
Тестовые методы перечисленные в условии задачи должны быть отмечены только аннотацией @Test.
В каждом тестовом методе должен содержаться вызов метода testStorage.
package com.javarush.task.task33.task3310;
import java.math.BigInteger;
import java.security.SecureRandom;
public class Helper {
//будет генерировать случайную строку
public static String generateRandomString() {
return new BigInteger(130, new SecureRandom()).toString(36);
}
//выводить переданный текст в консоль
public static void printMessage(String message) {
System.out.println( message );
}
}
0
Комментарии (4)
популярные
новые
старые
Для того, чтобы оставить комментарий Вы должны авторизоваться