You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2010/04/29 16:23:39 UTC
svn commit: r939319 - in /myfaces/tobago/trunk/core/src:
main/java/org/apache/myfaces/tobago/layout/Measure.java
test/java/org/apache/myfaces/tobago/layout/MeasureUnitTest.java
Author: lofwyr
Date: Thu Apr 29 14:23:39 2010
New Revision: 939319
URL: http://svn.apache.org/viewvc?rev=939319&view=rev
Log:
TOBAGO-606: layout manager
- Measure min/max should support defined values for "null" parameters
Added:
myfaces/tobago/trunk/core/src/test/java/org/apache/myfaces/tobago/layout/MeasureUnitTest.java
Modified:
myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/layout/Measure.java
Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/layout/Measure.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/layout/Measure.java?rev=939319&r1=939318&r2=939319&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/layout/Measure.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/layout/Measure.java Thu Apr 29 14:23:39 2010
@@ -139,39 +139,51 @@ public abstract class Measure implements
public abstract int getPixel();
+ /**
+ * Returns the maximum. If all parameters are null, than the result is {@value #ZERO}.
+ */
public static Measure max(List<Measure> list) {
Measure max = ZERO;
for (Measure measure : list) {
- if (measure.greaterThan(max)) {
+ if (max.lessThan(measure)) {
max = measure;
}
}
return max;
}
+ /**
+ * Returns the minimum. If all parameters are null, than the result is {@value #MAX}.
+ */
public static Measure min(List<Measure> list) {
Measure min = MAX;
for (Measure measure : list) {
- if (measure.lessThan(min)) {
+ if (min.greaterThan(measure)) {
min = measure;
}
}
return min;
}
+ /**
+ * Returns the maximum. If all parameters are null, than the result is {@value #ZERO}.
+ */
public static Measure max(Measure m1, Measure m2) {
- if (m1.greaterThan(m2)) {
- return m1;
+ if (m1 != null) {
+ return m1.lessThan(m2) ? m2 : m1;
} else {
- return m2;
+ return m2 != null ? m2 : ZERO;
}
}
+ /**
+ * Returns the minimum. If all parameters are null, than the result is {@value #MAX}.
+ */
public static Measure min(Measure m1, Measure m2) {
- if (m1.lessThan(m2)) {
- return m1;
+ if (m1 != null) {
+ return m1.greaterThan(m2) ? m2 : m1;
} else {
- return m2;
+ return m2 != null ? m2 : MAX;
}
}
}
Added: myfaces/tobago/trunk/core/src/test/java/org/apache/myfaces/tobago/layout/MeasureUnitTest.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/test/java/org/apache/myfaces/tobago/layout/MeasureUnitTest.java?rev=939319&view=auto
==============================================================================
--- myfaces/tobago/trunk/core/src/test/java/org/apache/myfaces/tobago/layout/MeasureUnitTest.java (added)
+++ myfaces/tobago/trunk/core/src/test/java/org/apache/myfaces/tobago/layout/MeasureUnitTest.java Thu Apr 29 14:23:39 2010
@@ -0,0 +1,62 @@
+package org.apache.myfaces.tobago.layout;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import java.util.Arrays;
+
+public class MeasureUnitTest {
+
+ private static Measure px(int pixel) {
+ return Measure.valueOf(pixel);
+ }
+
+ @Test
+ public void testMinList() {
+ Assert.assertEquals(px(5), Measure.min(Arrays.asList(px(5), px(10), px(20))));
+ Assert.assertEquals(px(5), Measure.min(Arrays.asList(px(5), null, px(20))));
+ Assert.assertEquals(Measure.MAX, Measure.min(Arrays.asList((Measure)null, null, null)));
+ Assert.assertEquals(Measure.MAX, Measure.min(Arrays.<Measure>asList()));
+ }
+
+ @Test
+ public void testMaxList() {
+ Assert.assertEquals(px(20), Measure.max(Arrays.asList(px(5), px(10), px(20))));
+ Assert.assertEquals(px(20), Measure.max(Arrays.asList(px(5), null, px(20))));
+ Assert.assertEquals(Measure.ZERO, Measure.max(Arrays.asList((Measure)null, null, null)));
+ Assert.assertEquals(Measure.ZERO, Measure.max(Arrays.<Measure>asList()));
+ }
+
+ @Test
+ public void testMin2() {
+ Assert.assertEquals(px(5), Measure.min(px(5), px(10)));
+ Assert.assertEquals(px(10), Measure.min(null, px(10)));
+ Assert.assertEquals(px(5), Measure.min(px(5), null));
+ Assert.assertEquals(Measure.MAX, Measure.min(null, null));
+ }
+
+ @Test
+ public void testMax2() {
+ Assert.assertEquals(px(10), Measure.max(px(5), px(10)));
+ Assert.assertEquals(px(10), Measure.max(null, px(10)));
+ Assert.assertEquals(px(5), Measure.max(px(5), null));
+ Assert.assertEquals(Measure.ZERO, Measure.max(null, null));
+ }
+}