@Test public void testGettingJaccardSimilarity() { assertEquals(0.00d, classBeingTested.apply("", ""), 0.00000000000000000001d); assertEquals(0.00d, classBeingTested.apply("left", ""), 0.00000000000000000001d); assertEquals(0.00d, classBeingTested.apply("", "right"), 0.00000000000000000001d); assertEquals(0.75d, classBeingTested.apply("frog", "fog"), 0.00000000000000000001d); assertEquals(0.00d, classBeingTested.apply("fly", "ant"), 0.00000000000000000001d); assertEquals(0.22d, classBeingTested.apply("elephant", "hippo"), 0.00000000000000000001d); assertEquals(0.64d, classBeingTested.apply("ABC Corporation", "ABC Corp"), 0.00000000000000000001d); assertEquals(0.76d, classBeingTested.apply("D N H Enterprises Inc", "D & H Enterprises, Inc."), 0.00000000000000000001d); assertEquals(0.89d, classBeingTested.apply("My Gym Children's Fitness Center", "My Gym. Childrens Fitness"), 0.00000000000000000001d); assertEquals(0.9d, classBeingTested.apply("PENNSYLVANIA", "PENNCISYLVNIA"), 0.00000000000000000001d); assertEquals(0.13d, classBeingTested.apply("left", "right"), 0.00000000000000000001d); assertEquals(0.13d, classBeingTested.apply("leettteft", "ritttght"), 0.00000000000000000001d); assertEquals(1.0d, classBeingTested.apply("the same string", "the same string"), 0.00000000000000000001d); }
@BeforeAll public static void setUp() { classBeingTested = new JaccardSimilarity(); }
@Override public double calculate(CharSequence s, CharSequence t) { org.apache.commons.text.similarity.JaccardSimilarity similatity = new org.apache.commons.text.similarity.JaccardSimilarity(); return similatity.apply(s, t); }
@Test public void testGettingJaccardSimilarityStringNull() { assertThatIllegalArgumentException().isThrownBy(() -> { classBeingTested.apply(" ", null); }); }
@Test public void testGettingJaccardSimilarityNullNull() { assertThatIllegalArgumentException().isThrownBy(() -> { classBeingTested.apply(null, null); }); }
@Test public void testGettingJaccardSimilarityNullString() { assertThatIllegalArgumentException().isThrownBy(() -> { classBeingTested.apply(null, "right"); }); } }
@Override public boolean isRemovableDrive(HWDiskStore store, UsbDevice[] usbDevices, double jaccardSimilarityThreshold) { try { for (UsbDevice device : usbDevices) { // check if one contains the other if (store.getModel().equalsIgnoreCase(device.getName()) || store.getModel().contains(device.getName()) || device.getName().contains(store.getModel())) { return true; } if (SingletonMap.getInstance(JaccardSimilarity.class).apply(store.getModel(), device.getName()) > jaccardSimilarityThreshold) { return true; } } } catch (InstantiationException | IllegalAccessException e) { FOKLogger.log(getClass().getName(), Level.SEVERE, "Unable to create the JaccardSimilarity instance", e); } return false; } }