From 2bebf73db2d7784a3b53f9c6ae6c439f6b5007c0 Mon Sep 17 00:00:00 2001 From: Grzegorz Piwowarek Date: Thu, 27 Apr 2017 16:58:13 +0200 Subject: [PATCH] SetTest refactor (#1724) --- .../java/com/baeldung/java/set/SetTest.java | 51 ++++++++++--------- 1 file changed, 28 insertions(+), 23 deletions(-) diff --git a/core-java/src/test/java/com/baeldung/java/set/SetTest.java b/core-java/src/test/java/com/baeldung/java/set/SetTest.java index 59e135283f..32a5c7e07e 100644 --- a/core-java/src/test/java/com/baeldung/java/set/SetTest.java +++ b/core-java/src/test/java/com/baeldung/java/set/SetTest.java @@ -1,16 +1,12 @@ package com.baeldung.java.set; +import org.junit.Test; + +import java.util.*; + import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; -import java.util.ConcurrentModificationException; -import java.util.HashSet; -import java.util.Iterator; -import java.util.Set; -import java.util.TreeSet; - -import org.junit.Test; - public class SetTest { @Test @@ -44,22 +40,22 @@ public class SetTest { @Test public void givenHashSetAndTreeSet_whenAddObjects_thenHashSetIsFaster() { - Set set = new HashSet<>(); - long startTime = System.nanoTime(); - set.add("Baeldung"); - set.add("is"); - set.add("Awesome"); - long endTime = System.nanoTime(); - long duration1 = (endTime - startTime); - Set set2 = new TreeSet<>(); - startTime = System.nanoTime(); - set2.add("Baeldung"); - set2.add("is"); - set2.add("Awesome"); - endTime = System.nanoTime(); - long duration2 = (endTime - startTime); - assertTrue(duration1 < duration2); + long hashSetInsertionTime = measureExecution(() -> { + Set set = new HashSet<>(); + set.add("Baeldung"); + set.add("is"); + set.add("Awesome"); + }); + + long TreeSetInsertionTime = measureExecution(() -> { + Set set = new TreeSet<>(); + set.add("Baeldung"); + set.add("is"); + set.add("Awesome"); + }); + + assertTrue(hashSetInsertionTime < TreeSetInsertionTime); } @Test @@ -86,4 +82,13 @@ public class SetTest { it.next(); } } + + private static long measureExecution(Runnable task) { + long startTime = System.nanoTime(); + task.run(); + long endTime = System.nanoTime(); + long executionTime = endTime - startTime; + System.out.println(executionTime); + return executionTime; + } }