/*
 * Copyright (C) 2018-2019 Philip Helger (www.helger.com)
 * philip[at]helger[dot]com
 *
 * 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
 *
 * 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 com.helger.postpone;

import java.io.File;
import java.io.Serializable;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.time.Duration;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.OffsetDateTime;
import java.time.Period;
import java.time.ZonedDateTime;
import com.helger.commons.datetime.PDTFactory;
import com.helger.commons.math.MathHelper;
import com.helger.photon.app.mock.PhotonAppWebTestRule;
import com.helger.xml.serialize.read.DOMReader;
import javax.xml.namespace.QName;
import org.junit.Assert;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TestRule;
import org.w3c.dom.Element;


/**
 * This is the self-test class of JDM
 * This class was initially automatically created
 * 
 * 
 * @author JDMCodeGenerator
 */
public final class JDMSelfTest {
  @Rule
  public final TestRule m_aRule = new PhotonAppWebTestRule();

  @Test
  @SuppressWarnings({
    "unused",
    "cast"
  })
  public void testMockValueCreation() {
    IA var0;
    var0 = new A(new B(new C(EE.ONE)));
    IB var1;
    var1 = new B(new C(EE.ONE));
    BigDecimal var2;
    var2 = MathHelper.toBigDecimal("12.3456");
    Assert.assertNotNull(var2);
    BigInteger var3;
    var3 = MathHelper.toBigInteger("7890");
    Assert.assertNotNull(var3);
    Boolean var4;
    var4 = Boolean.TRUE;
    Assert.assertNotNull(var4);
    boolean var5;
    var5 = true;
    byte var6;
    var6 = 2;
    Byte var7;
    var7 = Byte.valueOf(((byte) 1));
    Assert.assertNotNull(var7);
    IC var8;
    var8 = new C(EE.ONE);
    Character var9;
    var9 = Character.valueOf(' ');
    Assert.assertNotNull(var9);
    char var10;
    var10 = 'x';
    double var11;
    var11 = 4.0;
    Double var12;
    var12 = Double.valueOf(3.0);
    Assert.assertNotNull(var12);
    Duration var13;
    var13 = Duration.ofDays(1L);
    Assert.assertNotNull(var13);
    EE var14;
    var14 = EE.ONE;
    Assert.assertNotNull(var14);
    Element var15;
    var15 = DOMReader.readXMLDOM("<item x='y'/>").getDocumentElement();
    Assert.assertNotNull(var15);
    File var16;
    var16 = new File("file.txt");
    Assert.assertNotNull(var16);
    float var17;
    var17 = 6.0F;
    Float var18;
    var18 = Float.valueOf(5.0F);
    Assert.assertNotNull(var18);
    int var19;
    var19 = 8;
    Integer var20;
    var20 = Integer.valueOf(7);
    Assert.assertNotNull(var20);
    LocalDate var21;
    var21 = PDTFactory.getCurrentLocalDate();
    Assert.assertNotNull(var21);
    LocalDateTime var22;
    var22 = PDTFactory.getCurrentLocalDateTime();
    Assert.assertNotNull(var22);
    LocalTime var23;
    var23 = PDTFactory.getCurrentLocalTime();
    Assert.assertNotNull(var23);
    long var24;
    var24 = 10L;
    Long var25;
    var25 = Long.valueOf(9L);
    Assert.assertNotNull(var25);
    OffsetDateTime var26;
    var26 = PDTFactory.getCurrentOffsetDateTime();
    Assert.assertNotNull(var26);
    Period var27;
    var27 = Period.ofDays(2);
    Assert.assertNotNull(var27);
    QName var28;
    var28 = new QName("urn:example", "elem");
    Assert.assertNotNull(var28);
    Serializable var29;
    var29 = ((Serializable)"object");
    Assert.assertNotNull(var29);
    Short var30;
    var30 = Short.valueOf(((short) 11));
    Assert.assertNotNull(var30);
    short var31;
    var31 = 12;
    String var32;
    var32 = "foo";
    Assert.assertNotNull(var32);
    ZonedDateTime var33;
    var33 = PDTFactory.getCurrentZonedDateTime();
    Assert.assertNotNull(var33);
  }
}
