Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
11
Добавлен:
10.02.2016
Размер:
56.84 Кб
Скачать

Tests swallowing exceptions.

public void testSerial() {

assertTrue ( _nbhs.isEmpty() );

assertTrue ( _nbhs.add("k1") );

assertTrue ( _nbhs.add("k2") );

// Serialize it out

try {

FileOutputStream fos = new FileOutputStream("NBHS_test.txt");

ObjectOutputStream out = new ObjectOutputStream(fos);

out.writeObject(_nbhs);

out.close();

} catch(IOException ex) {

ex.printStackTrace();

}

// Read it back

try {

File f = new File("NBHS_test.txt");

FileInputStream fis = new FileInputStream(f);

ObjectInputStream in = new ObjectInputStream(fis);

NonBlockingHashSet nbhs = (NonBlockingHashSet)in.readObject();

in.close();

assertEquals(_nbhs.toString(),nbhs.toString());

if( !f.delete() ) throw new IOException("delete failed");

} catch(IOException ex) {

ex.printStackTrace();

} catch(ClassNotFoundException ex) {

ex.printStackTrace();

}

}

Arrange-Act-Assert. Structure the tests always by AAA. Never mix these blocks.

public void testIteration() {

assertTrue ( _nbhs.isEmpty() );

assertTrue ( _nbhs.add("k1") );

assertTrue ( _nbhs.add("k2") );

StringBuffer buf = new StringBuffer();

for( Iterator<String> i = _nbhs.iterator(); i.hasNext(); ) {

String val = i.next();

buf.append(val); }

assertThat("found all vals",buf.toString(),anyOf(is("k1k2"),is("k2k1")));

assertThat("toString works",_nbhs.toString(), anyOf(is("[k1, k2]"),is("[k2, k1]")));

}

Выводы: в ходе данной лабораторной работы я провёл процедуру code review проектов лабораторной работы 1а-1б и выбранного проекта на Github. Результаты анализа проекта на Github оказались неутешительными. Были замечены многочисленные нарушения как в самом исходном коде библиотеки так и в написанных к ней тестах. Что касается моих проектов, то в процессе code review были выявлены лишь нарушения в Java coding style и организации Java Docs.

Соседние файлы в папке Трофимов