PharmacophoreQueryAngleBond extends Bond implements IQueryBond { public double getUpper() { return upper; } PharmacophoreQueryAngleBond();  PharmacophoreQueryAngleBond(PharmacophoreQueryAtom atom1, PharmacophoreQueryAtom atom2,
            PharmacophoreQueryAtom atom3, double lower, double upper);  PharmacophoreQueryAngleBond(PharmacophoreQueryAtom atom1, PharmacophoreQueryAtom atom2,
            PharmacophoreQueryAtom atom3, double angle); @Override boolean matches(IBond bond); double getUpper(); double getLower(); @Override String toString();  }
@Test public void testUpper() { PharmacophoreQueryAtom qatom1 = new PharmacophoreQueryAtom("Amine", "[CX2]N"); PharmacophoreQueryAtom qatom2 = new PharmacophoreQueryAtom("aromatic", "c1ccccc1"); PharmacophoreQueryAtom qatom3 = new PharmacophoreQueryAtom("blah", "C"); PharmacophoreQueryAngleBond qbond1 = new PharmacophoreQueryAngleBond(qatom1, qatom2, qatom3, 54.735); PharmacophoreQueryAngleBond qbond2 = new PharmacophoreQueryAngleBond(qatom1, qatom2, qatom3, 50, 60); Assert.assertEquals(54.74, qbond1.getUpper(), 0.01); Assert.assertEquals(60.00, qbond2.getUpper(), 0.01); }