package ucar.nc2.dods; import junit.framework.TestCase; import org.junit.Test; import ucar.nc2.Attribute; import ucar.nc2.constants._Coordinate; import static ucar.nc2.dods.DODSNetcdfFile.combineAxesAttrs; public class TestAxisAttrCombiner extends TestCase { @Test public void testAxisAttrCombineSame() { Attribute attr1 = new Attribute(_Coordinate.Axes, "abe bec cid dave"); Attribute attr2 = new Attribute(_Coordinate.Axes, "abe bec cid dave"); Attribute attr3 = combineAxesAttrs(attr1, attr2); assertEquals(attr3.getStringValue(), (attr1.getStringValue())); assertEquals(attr3.getStringValue(), attr2.getStringValue()); } @Test public void testAxisAttrCombineDiff() { Attribute attr1 = new Attribute(_Coordinate.Axes, "abe bec cid dave"); Attribute attr2 = new Attribute(_Coordinate.Axes, "ed fin gabe hedi"); Attribute attr3 = combineAxesAttrs(attr1, attr2); assertTrue(attr3.getStringValue().contains(attr1.getStringValue())); assertTrue(attr3.getStringValue().contains(attr2.getStringValue())); } @Test public void testAxisAttrCombineOverlap() { Attribute attr1 = new Attribute(_Coordinate.Axes, "abe bec cid dave"); Attribute attr2 = new Attribute(_Coordinate.Axes, "cid dave ed fin"); Attribute attr3 = combineAxesAttrs(attr1, attr2); assertTrue(attr3.getStringValue().contains(attr1.getStringValue())); assertTrue(attr3.getStringValue().contains(attr2.getStringValue())); assertEquals(attr3.getStringValue().split("\\s").length, 6); } public void testAxisAttrCombineOverlapMangled() { Attribute attr1 = new Attribute(_Coordinate.Axes, " abe bec cid dave "); Attribute attr2 = new Attribute(_Coordinate.Axes, "cid dave ed fin"); Attribute attr3 = combineAxesAttrs(attr1, attr2); // these will fail, because whitespace is all messed up in the attribute values assertFalse(attr3.getStringValue().contains(attr1.getStringValue())); assertFalse(attr3.getStringValue().contains(attr2.getStringValue())); assertEquals(attr3.getStringValue().split("\\s").length, 6); } }