Универсальная Тестовая обвязка для java.util. Карта?

Первый вариант предпочтительнее, на мой взгляд. Это облегчает поиск ответов на различные вопросы для одного бренда и на один и тот же вопрос по брендам.

Поиск идентификатора вопроса кажется плохой заменой. С одной стороны, это исключает простые отношения внешнего ключа с таблицей questions и таблицей brands. Я большой поклонник явных внешних связей.

Конечно, чтобы сделать эту работу, вам понадобится метод для хранения «нет бренда» или «бренд не имеет отношения». Одним из способов является использование NULL для таких ответов.

14
задан Kevin Bourrillion 5 January 2010 в 18:29
поделиться

2 ответа

The Google Collections zip contains their tests. There should be a google-collect-testfw jar in there.

Specifically, there's an abstract test for the general contract of Map.

7
ответ дан 1 December 2019 в 16:24
поделиться

Возможно, вы захотите узнать, есть ли в Google Collections что-то, что соответствует вашим потребностям, чтобы вам не пришлось поддерживать свою собственную карту. См., Например, MapMaker

private Map<Key, Graph> createMap() {
  ConcurrentMap<Key, Graph> graphs = new MapMaker()
     .concurrencyLevel(32)
     .softKeys()
     .weakValues()
     .expiration(30, TimeUnit.MINUTES)
     .makeComputingMap(
        new Function<Key, Graph>() {
          public Graph apply(Key key) {
            return createExpensiveGraph(key);
          }
        });
  return Collections.unmodifiableMap(graphs);
}

. Обратите внимание, что карта не будет полностью неизменной после построения, поскольку выполнение map.get (key) с ранее невидимым ключом изменит то, что видел Map.entrySet ()

Если вам нужно написать собственную реализацию карты и вы хотите хорошее место для начала ваших тестов, предложение Адама об использовании Google Collections MapInterfaceTest является хорошим .

0
ответ дан 1 December 2019 в 16:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: