Skip to content

Commit

Permalink
Added a few convenience methods to get the max bond order
Browse files Browse the repository at this point in the history
Change-Id: I9b151d708216db1fc06f68194785cda038de6146
Signed-off-by: John May <john.wilkinsonmay@gmail.com>
  • Loading branch information
egonw committed Oct 7, 2012
1 parent 6408139 commit 4e45c7d
Show file tree
Hide file tree
Showing 2 changed files with 76 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
import org.openscience.cdk.annotations.TestMethod;
import org.openscience.cdk.interfaces.IAtom;
import org.openscience.cdk.interfaces.IBond;
import org.openscience.cdk.interfaces.IBond.Order;

import java.util.Iterator;
import java.util.List;
Expand Down Expand Up @@ -257,6 +258,39 @@ public static IBond.Order getMaximumBondOrder(Iterator<IBond> bonds) {
return maxOrder;
}

/**
* Returns the maximum bond order for the two bonds.
*
* @param firstBond first bond to compare
* @param secondBond second bond to compare
* @return The maximum bond order found
*/
@TestMethod("testGetMaximumBondOrder_IBond_IBond")
public static IBond.Order getMaximumBondOrder(IBond firstBond, IBond secondBond) {
if (isHigherOrder(firstBond.getOrder(), secondBond.getOrder()))
return firstBond.getOrder();
else
return secondBond.getOrder();
}

/**
* Returns the maximum bond order for the two bond orders.
*
* @param firstOrder first bond order to compare
* @param secondOrder second bond order to compare
* @return The maximum bond order found
*/
@TestMethod("testGetMaximumBondOrder_Order_Order")
public static IBond.Order getMaximumBondOrder(IBond.Order firstOrder, IBond.Order secondOrder) {
if (firstOrder == Order.UNSET) return secondOrder;
if (secondOrder == Order.UNSET) return firstOrder;

if (isHigherOrder(firstOrder, secondOrder))
return firstOrder;
else
return secondOrder;
}

/**
* Returns the minimum bond order for a List of bonds.
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,48 @@ public void testGetMaximumBondOrder_Iterator() {
Assert.assertEquals(IBond.Order.QUADRUPLE, BondManipulator.getMaximumBondOrder(bonds.iterator()));
}

@Test
public void testGetMaximumBondOrder_IBond_IBond() {
IBond bond1 = new Bond(); bond1.setOrder(IBond.Order.SINGLE);
IBond bond2 = new Bond(); bond2.setOrder(IBond.Order.QUADRUPLE);
Assert.assertEquals(IBond.Order.QUADRUPLE, BondManipulator.getMaximumBondOrder(bond1, bond2));
}

@Test
public void testGetMaximumBondOrder_IBond_IBond_Unset() {
IBond bond1 = new Bond(); bond1.setOrder(IBond.Order.UNSET);
IBond bond2 = new Bond(); bond2.setOrder(IBond.Order.DOUBLE);
Assert.assertEquals(IBond.Order.DOUBLE, BondManipulator.getMaximumBondOrder(bond1, bond2));
}

@Test
public void testGetMaximumBondOrder_Order_Order() {
Assert.assertEquals(
IBond.Order.QUADRUPLE,
BondManipulator.getMaximumBondOrder(IBond.Order.SINGLE, IBond.Order.QUADRUPLE)
);
}

@Test
public void testGetMaximumBondOrder_Order_Order_Single() {
Assert.assertEquals(
IBond.Order.SINGLE,
BondManipulator.getMaximumBondOrder(IBond.Order.SINGLE, IBond.Order.SINGLE)
);
}

@Test
public void testGetMaximumBondOrder_Order_Order_Unset() {
Assert.assertEquals(
IBond.Order.SINGLE,
BondManipulator.getMaximumBondOrder(IBond.Order.SINGLE, IBond.Order.UNSET)
);
Assert.assertEquals(
IBond.Order.SINGLE,
BondManipulator.getMaximumBondOrder(IBond.Order.UNSET, IBond.Order.SINGLE)
);
}

@Test
public void testGetMinimumBondOrder_List() {
List<IBond> bonds = new ArrayList<IBond>();
Expand Down

0 comments on commit 4e45c7d

Please sign in to comment.