예제 #1
0
  public void testItShouldNotFullyIntersectTheFingerprintDerivedFromASubstructure() {
    BitSet benzene = fingerprinter.getFingerprint(Molecules.createBenzene());
    BitSet phenol = fingerprinter.getFingerprint(Molecules.createPhenol());
    BitSet intersection = (BitSet) phenol.clone();

    intersection.and(benzene);

    assertFalse(match(phenol, benzene));
  }
예제 #2
0
  public void testItCreatesCorrectFingerprintAfterFingerprintLengthSet() {
    BitSet fp1 = fingerprinter.getFingerprint(Molecules.createNaphthalene());

    fingerprinter.setFingerprintLength(1024);

    BitSet fp2 = fingerprinter.getFingerprint(Molecules.createNaphthalene());

    assertEquals(fp1, fp2);
  }
예제 #3
0
  public void testItShouldReturnTheSameFingerprintForTheSameMolecule() {
    Molecule benzene = Molecules.createBenzene();
    BitSet firstFingerprint = fingerprinter.getFingerprint(benzene);

    for (int i = 0; i < 10; i++) {
      BitSet newFingerprint = fingerprinter.getFingerprint(benzene);

      assertEquals(firstFingerprint, newFingerprint);
    }
  }
예제 #4
0
  public void testItShouldProduceADifferentFingerprintWhenThePathDepthIsChanged() {
    Molecule naphthalene = Molecules.createNaphthalene();

    fingerprinter.setMaximumPathDepth(6);

    BitSet fp6 = fingerprinter.getFingerprint(naphthalene);

    fingerprinter.setMaximumPathDepth(0);

    BitSet fpall = fingerprinter.getFingerprint(naphthalene);

    assertFalse(fp6.equals(fpall));
  }
예제 #5
0
  public void testItShouldCreateANonemptyFingerprint() {
    Molecule benzene = Molecules.createBenzene();

    BitSet fingerprint = fingerprinter.getFingerprint(benzene);

    assertFalse(fingerprint.isEmpty());
  }
예제 #6
0
  public void testItShouldCreateANonemptyFingerprintWhenPathDepthIsZero() {
    Molecule benzene = Molecules.createBenzene();

    fingerprinter.setMaximumPathDepth(0);

    BitSet fingerprint = fingerprinter.getFingerprint(benzene);

    assertFalse(fingerprint.isEmpty());
  }
예제 #7
0
  public void testItShouldMatchBenzeneToNaphthalene() {
    BitSet benzene = fingerprinter.getFingerprint(Molecules.createBenzene());
    BitSet naphthalene = fingerprinter.getFingerprint(Molecules.createNaphthalene());

    assertTrue(match(benzene, naphthalene));
  }
예제 #8
0
  public void testItDoesntMatchCyclooctaneToOctane() {
    BitSet cyclooctane = fingerprinter.getFingerprint(createCyclooctane());
    BitSet octane = fingerprinter.getFingerprint(createOctane());

    assertFalse(match(cyclooctane, octane));
  }
예제 #9
0
  public void testItMatchesPropaneToAcetone() {
    BitSet propane = fingerprinter.getFingerprint(Molecules.createPropane());
    BitSet acetone = fingerprinter.getFingerprint(Molecules.createAcetone());

    assertTrue(match(propane, acetone));
  }
예제 #10
0
  public void testItDoesntMatchEthaneToEthyne() {
    BitSet ethane = fingerprinter.getFingerprint(createEthane());
    BitSet ethyne = fingerprinter.getFingerprint(createEthyne());

    assertFalse(match(ethane, ethyne));
  }
예제 #11
0
  public void testItShouldMatchPropaneToCyclopropane() {
    BitSet cyclopropane = fingerprinter.getFingerprint(Molecules.createCyclopropane());
    BitSet propane = fingerprinter.getFingerprint(Molecules.createPropane());

    assertTrue(match(propane, cyclopropane));
  }
예제 #12
0
  public void testItShouldNotMatchCyclopropaneToPropane() {
    BitSet cyclopropane = fingerprinter.getFingerprint(Molecules.createCyclopropane());
    BitSet propane = fingerprinter.getFingerprint(Molecules.createPropane());

    assertFalse(match(cyclopropane, propane));
  }
예제 #13
0
  public void testItShouldMatchHexaneToCyclohexane() {
    BitSet cyclohexane = fingerprinter.getFingerprint(Molecules.createCyclohexane());
    BitSet hexane = fingerprinter.getFingerprint(Molecules.createHexane());

    assertTrue(match(hexane, cyclohexane));
  }
예제 #14
0
  public void testItShouldFullyIntersectTheFingerprintDerivedFromASuperstructure() {
    BitSet benzene = fingerprinter.getFingerprint(Molecules.createBenzene());
    BitSet phenol = fingerprinter.getFingerprint(Molecules.createPhenol());

    assertTrue(match(benzene, phenol));
  }
예제 #15
0
 public void testItReturnsWithBrevetoxin() {
   Molecule bt = MoleculeKit.readMolfile(brevetoxinMolfile);
   fingerprinter.setMaximumRingSize(10);
   fingerprinter.getFingerprint(bt);
 }
예제 #16
0
  public void testItShouldGiveAFingerprintFromBenzeneThatMatchesOneFromPhenol() {
    BitSet benzene = fingerprinter.getFingerprint(Molecules.createBenzene());
    BitSet phenol = fingerprinter.getFingerprint(Molecules.createPhenol());

    assertTrue(match(benzene, phenol));
  }
예제 #17
0
  public void testItShouldGiveAFingerprintFromBenzeneThatDoesntMatchCyclohexane() {
    BitSet benzene = fingerprinter.getFingerprint(Molecules.createBenzene());
    BitSet cyclohexane = fingerprinter.getFingerprint(Molecules.createCyclohexane());

    assertFalse(match(cyclohexane, benzene));
  }
예제 #18
0
  public void testItGivesTheSameFingerprintFromOXyleneForAlternateKekuleForm() {
    BitSet xylene = fingerprinter.getFingerprint(createXylene());
    BitSet kekule = fingerprinter.getFingerprint(createKekuleXylene());

    assertEquals(xylene, kekule);
  }
예제 #19
0
  public void testItShouldNotMatchCyclohexaneToHexane() {
    BitSet cyclohexane = fingerprinter.getFingerprint(Molecules.createCyclohexane());
    BitSet hexane = fingerprinter.getFingerprint(Molecules.createHexane());

    assertFalse(match(cyclohexane, hexane));
  }
예제 #20
0
  public void testItCreatesA2024BitFingerprint() {
    BitSet fingerprint = fingerprinter.getFingerprint(Molecules.createBenzene());

    assertEquals(1024, fingerprint.size());
  }