aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/examples/jodatime/JodaTimeExampleTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/examples/jodatime/JodaTimeExampleTest.java')
-rw-r--r--src/test/java/examples/jodatime/JodaTimeExampleTest.java173
1 files changed, 87 insertions, 86 deletions
diff --git a/src/test/java/examples/jodatime/JodaTimeExampleTest.java b/src/test/java/examples/jodatime/JodaTimeExampleTest.java
index 0112608e..f5960031 100644
--- a/src/test/java/examples/jodatime/JodaTimeExampleTest.java
+++ b/src/test/java/examples/jodatime/JodaTimeExampleTest.java
@@ -1,24 +1,20 @@
/**
- * Copyright (c) 2008, http://www.snakeyaml.org
+ * Copyright (c) 2008, SnakeYAML
*
- * Licensed 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
+ * Licensed 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
+ * 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.
+ * 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.
*/
package examples.jodatime;
import java.util.Date;
-
import junit.framework.TestCase;
-
import org.joda.time.DateMidnight;
import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;
@@ -31,90 +27,95 @@ import org.yaml.snakeyaml.nodes.NodeId;
import org.yaml.snakeyaml.nodes.Tag;
public class JodaTimeExampleTest extends TestCase {
- private static final long timestamp = 1000000000000L;
-
- public void testDump() {
- DateTime time = new DateTime(timestamp, DateTimeZone.UTC);
- Yaml yaml = new Yaml(new JodaTimeRepresenter());
- String joda = yaml.dump(time);
- String date = new Yaml().dump(new Date(timestamp));
- assertEquals(date, joda);
- assertEquals("2001-09-09T01:46:40Z\n", joda);
- }
- public void testLoad() {
- Yaml yaml = new Yaml(new JodaTimeImplicitContructor());
- DateTime time = (DateTime) yaml.load("2001-09-09T01:46:40Z");
- assertEquals(new DateTime(timestamp, DateTimeZone.UTC), time);
- }
+ private static final long timestamp = 1000000000000L;
+
+ public void testDump() {
+ DateTime time = new DateTime(timestamp, DateTimeZone.UTC);
+ Yaml yaml = new Yaml(new JodaTimeRepresenter());
+ String joda = yaml.dump(time);
+ String date = new Yaml().dump(new Date(timestamp));
+ assertEquals(date, joda);
+ assertEquals("2001-09-09T01:46:40Z\n", joda);
+ }
- /**
- * test issue 109
- */
- public void test109() {
- Date someDate = new DateMidnight(9, 2, 21, DateTimeZone.forID("Europe/Amsterdam")).toDate();
- Yaml yaml = new Yaml();
- String timestamp = yaml.dump(someDate);
- assertEquals("0009-02-22T23:40:28Z\n", timestamp);
- // System.out.println(timestamp);
- Object o = yaml.load(timestamp);
- assertEquals(someDate, o);
+ public void testLoad() {
+ Yaml yaml = new Yaml(new JodaTimeImplicitContructor());
+ DateTime time = yaml.load("2001-09-09T01:46:40Z");
+ assertEquals(new DateTime(timestamp, DateTimeZone.UTC), time);
+ }
+
+ /**
+ * test issue 109
+ */
+ public void test109() {
+ Date someDate = new DateMidnight(9, 2, 21, DateTimeZone.forID("Europe/Amsterdam")).toDate();
+ Yaml yaml = new Yaml();
+ String timestamp = yaml.dump(someDate);
+ assertEquals("0009-02-22T23:40:28Z\n", timestamp);
+ // System.out.println(timestamp);
+ Object o = yaml.load(timestamp);
+ assertEquals(someDate, o);
+ }
+
+ class JodaPropertyConstructor extends Constructor {
+
+ public JodaPropertyConstructor() {
+ yamlClassConstructors.put(NodeId.scalar, new TimeStampConstruct());
}
- class JodaPropertyConstructor extends Constructor {
- public JodaPropertyConstructor() {
- yamlClassConstructors.put(NodeId.scalar, new TimeStampConstruct());
- }
+ class TimeStampConstruct extends Constructor.ConstructScalar {
- class TimeStampConstruct extends Constructor.ConstructScalar {
- @Override
- public Object construct(Node nnode) {
- if (nnode.getTag().equals("tag:yaml.org,2002:timestamp")) {
- Construct dateConstructor = yamlConstructors.get(Tag.TIMESTAMP);
- Date date = (Date) dateConstructor.construct(nnode);
- return new DateTime(date, DateTimeZone.UTC);
- } else {
- return super.construct(nnode);
- }
- }
+ @Override
+ public Object construct(Node nnode) {
+ if (nnode.getTag().equals("tag:yaml.org,2002:timestamp")) {
+ Construct dateConstructor = yamlConstructors.get(Tag.TIMESTAMP);
+ Date date = (Date) dateConstructor.construct(nnode);
+ return new DateTime(date, DateTimeZone.UTC);
+ } else {
+ return super.construct(nnode);
}
+ }
}
+ }
- /**
- * This class should be used if JodaTime may appear with a tag or as a
- * JavaBean property
- */
- public class JodaTimeConstructor extends Constructor {
- private final Construct javaDateConstruct;
- private final Construct jodaDateConstruct;
-
- public JodaTimeConstructor() {
- javaDateConstruct = new ConstructYamlTimestamp();
- jodaDateConstruct = new ConstructJodaTimestamp();
- // Whenever we see an explicit timestamp tag, make a Joda Date
- // instead
- yamlConstructors.put(Tag.TIMESTAMP, jodaDateConstruct);
- // See
- // We need this to work around implicit construction.
- yamlClassConstructors.put(NodeId.scalar, new TimeStampConstruct());
- }
+ /**
+ * This class should be used if JodaTime may appear with a tag or as a JavaBean property
+ */
+ public class JodaTimeConstructor extends Constructor {
- public class ConstructJodaTimestamp extends AbstractConstruct {
- public Object construct(Node node) {
- Date date = (Date) javaDateConstruct.construct(node);
- return new DateTime(date, DateTimeZone.UTC);
- }
- }
+ private final Construct javaDateConstruct;
+ private final Construct jodaDateConstruct;
+
+ public JodaTimeConstructor() {
+ javaDateConstruct = new ConstructYamlTimestamp();
+ jodaDateConstruct = new ConstructJodaTimestamp();
+ // Whenever we see an explicit timestamp tag, make a Joda Date
+ // instead
+ yamlConstructors.put(Tag.TIMESTAMP, jodaDateConstruct);
+ // See
+ // We need this to work around implicit construction.
+ yamlClassConstructors.put(NodeId.scalar, new TimeStampConstruct());
+ }
+
+ public class ConstructJodaTimestamp extends AbstractConstruct {
+
+ public Object construct(Node node) {
+ Date date = (Date) javaDateConstruct.construct(node);
+ return new DateTime(date, DateTimeZone.UTC);
+ }
+ }
+
+ class TimeStampConstruct extends Constructor.ConstructScalar {
- class TimeStampConstruct extends Constructor.ConstructScalar {
- @Override
- public Object construct(Node nnode) {
- if (nnode.getTag().equals(Tag.TIMESTAMP)) {
- return jodaDateConstruct.construct(nnode);
- } else {
- return super.construct(nnode);
- }
- }
+ @Override
+ public Object construct(Node nnode) {
+ if (nnode.getTag().equals(Tag.TIMESTAMP)) {
+ return jodaDateConstruct.construct(nnode);
+ } else {
+ return super.construct(nnode);
}
+ }
}
+ }
}