// Path: src/test/java/org/fuin/ddd4j/test/ACreatedEvent.java
// public class ACreatedEvent extends AbstractDomainEvent<AId> {
// 
//     private static final long serialVersionUID = 1L;
// 
//     private static final EventType EVENT_TYPE = new EventType("ACreatedEvent");
// 
//     private AId id;
// 
//     public ACreatedEvent(final AId id) {
//         super(new EntityIdPath(id));
//         this.id = id;
//     }
// 
//     public AId getId() {
//         return id;
//     }
// 
//     @Override
//     public EventType getEventType() {
//         return EVENT_TYPE;
//     }
// 
// }
// 
// Path: src/test/java/org/fuin/ddd4j/test/AId.java
// public class AId implements ImplRootId {
// 
//     private static final long serialVersionUID = 1L;
// 
//     public static final EntityType TYPE = new StringBasedEntityType("A");
// 
//     private final long id;
// 
//     public AId(final long id) {
//         this.id = id;
//     }
// 
//     @Override
//     public EntityType getType() {
//         return TYPE;
//     }
// 
//     @Override
//     public String asString() {
//         return "" + id;
//     }
// 
//     @Override
//     public String asTypedString() {
//         return getType() + " " + asString();
//     }
// 
//     @Override
//     public String toString() {
//         return "AId [id=" + id + "]";
//     }
// 
// }
// 
// Path: src/test/java/org/fuin/ddd4j/test/BId.java
// public class BId implements EntityId {
// 
//     private static final long serialVersionUID = 1L;
// 
//     public static final EntityType TYPE = new StringBasedEntityType("B");
// 
//     private final long id;
// 
//     public BId(final long id) {
//         this.id = id;
//     }
// 
//     @Override
//     public EntityType getType() {
//         return TYPE;
//     }
// 
//     @Override
//     public String asString() {
//         return "" + id;
//     }
// 
//     @Override
//     public String asTypedString() {
//         return getType() + " " + asString();
//     }
// 
//     @Override
//     public String toString() {
//         return "BId [id=" + id + "]";
//     }
// 
// }
// 
// Path: src/test/java/org/fuin/ddd4j/test/CAddedEvent.java
// public class CAddedEvent extends AbstractDomainEvent<BId> {
// 
//     private static final long serialVersionUID = 1L;
// 
//     private static final EventType EVENT_TYPE = new EventType("CAddedEvent");
// 
//     private final CId cid;
// 
//     public CAddedEvent(final AId aid, final BId bid, final CId cid) {
//         super(new EntityIdPath(aid, bid));
//         this.cid = cid;
//     }
// 
//     @Override
//     public EventType getEventType() {
//         return EVENT_TYPE;
//     }
// 
//     public CId getCId() {
//         return cid;
//     }
// 
// }
// 
// Path: src/test/java/org/fuin/ddd4j/test/CEvent.java
// public class CEvent extends AbstractDomainEvent<CId> {
// 
//     private static final long serialVersionUID = 1L;
// 
//     private static final EventType EVENT_TYPE = new EventType("CEvent");
// 
//     public CEvent(final AId aid, final BId bid, final CId cid) {
//         super(new EntityIdPath(aid, bid, cid));
//     }
// 
//     @Override
//     public EventType getEventType() {
//         return EVENT_TYPE;
//     }
// 
// }
// 
// Path: src/test/java/org/fuin/ddd4j/test/CId.java
// public class CId implements EntityId {
// 
//     private static final long serialVersionUID = 1L;
// 
//     public static final EntityType TYPE = new StringBasedEntityType("C");
// 
//     private final long id;
// 
//     public CId(final long id) {
//         this.id = id;
//     }
// 
//     @Override
//     public EntityType getType() {
//         return TYPE;
//     }
// 
//     @Override
//     public String asString() {
//         return "" + id;
//     }
// 
//     @Override
//     public String asTypedString() {
//         return getType() + " " + asString();
//     }
// 
//     @Override
//     public String toString() {
//         return "CId [id=" + id + "]";
//     }
// 
// }


import static org.assertj.core.api.Assertions.assertThat;
import java.lang.annotation.Annotation;
import jakarta.validation.Payload;
import org.fuin.ddd4j.test.ACreatedEvent;
import org.fuin.ddd4j.test.AId;
import org.fuin.ddd4j.test.BId;
import org.fuin.ddd4j.test.CAddedEvent;
import org.fuin.ddd4j.test.CEvent;
import org.fuin.ddd4j.test.CId;
import org.junit.Test;
/**
 * Copyright (C) 2015 Michael Schnell. All rights reserved. 
 * http://www.fuin.org/
 *
 * This library is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Lesser General Public License as published by the Free
 * Software Foundation; either version 3 of the License, or (at your option) any
 * later version.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
 * details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this library. If not, see http://www.gnu.org/licenses/.
 */
package org.fuin.ddd4j.ddd;





//CHECKSTYLE:OFF Test code
public class DomainEventExpectedEntityIdPathValidatorTest {

    @Test
    public void testIsValidNull() {

        // PREPARE
// Path: src/test/java/org/fuin/ddd4j/test/ACreatedEvent.java
// public class ACreatedEvent extends AbstractDomainEvent<AId> {
// 
//     private static final long serialVersionUID = 1L;
// 
//     private static final EventType EVENT_TYPE = new EventType("ACreatedEvent");
// 
//     private AId id;
// 
//     public ACreatedEvent(final AId id) {
//         super(new EntityIdPath(id));
//         this.id = id;
//     }
// 
//     public AId getId() {
//         return id;
//     }
// 
//     @Override
//     public EventType getEventType() {
//         return EVENT_TYPE;
//     }
// 
// }
// 
// Path: src/test/java/org/fuin/ddd4j/test/AId.java
// public class AId implements ImplRootId {
// 
//     private static final long serialVersionUID = 1L;
// 
//     public static final EntityType TYPE = new StringBasedEntityType("A");
// 
//     private final long id;
// 
//     public AId(final long id) {
//         this.id = id;
//     }
// 
//     @Override
//     public EntityType getType() {
//         return TYPE;
//     }
// 
//     @Override
//     public String asString() {
//         return "" + id;
//     }
// 
//     @Override
//     public String asTypedString() {
//         return getType() + " " + asString();
//     }
// 
//     @Override
//     public String toString() {
//         return "AId [id=" + id + "]";
//     }
// 
// }
// 
// Path: src/test/java/org/fuin/ddd4j/test/BId.java
// public class BId implements EntityId {
// 
//     private static final long serialVersionUID = 1L;
// 
//     public static final EntityType TYPE = new StringBasedEntityType("B");
// 
//     private final long id;
// 
//     public BId(final long id) {
//         this.id = id;
//     }
// 
//     @Override
//     public EntityType getType() {
//         return TYPE;
//     }
// 
//     @Override
//     public String asString() {
//         return "" + id;
//     }
// 
//     @Override
//     public String asTypedString() {
//         return getType() + " " + asString();
//     }
// 
//     @Override
//     public String toString() {
//         return "BId [id=" + id + "]";
//     }
// 
// }
// 
// Path: src/test/java/org/fuin/ddd4j/test/CAddedEvent.java
// public class CAddedEvent extends AbstractDomainEvent<BId> {
// 
//     private static final long serialVersionUID = 1L;
// 
//     private static final EventType EVENT_TYPE = new EventType("CAddedEvent");
// 
//     private final CId cid;
// 
//     public CAddedEvent(final AId aid, final BId bid, final CId cid) {
//         super(new EntityIdPath(aid, bid));
//         this.cid = cid;
//     }
// 
//     @Override
//     public EventType getEventType() {
//         return EVENT_TYPE;
//     }
// 
//     public CId getCId() {
//         return cid;
//     }
// 
// }
// 
// Path: src/test/java/org/fuin/ddd4j/test/CEvent.java
// public class CEvent extends AbstractDomainEvent<CId> {
// 
//     private static final long serialVersionUID = 1L;
// 
//     private static final EventType EVENT_TYPE = new EventType("CEvent");
// 
//     public CEvent(final AId aid, final BId bid, final CId cid) {
//         super(new EntityIdPath(aid, bid, cid));
//     }
// 
//     @Override
//     public EventType getEventType() {
//         return EVENT_TYPE;
//     }
// 
// }
// 
// Path: src/test/java/org/fuin/ddd4j/test/CId.java
// public class CId implements EntityId {
// 
//     private static final long serialVersionUID = 1L;
// 
//     public static final EntityType TYPE = new StringBasedEntityType("C");
// 
//     private final long id;
// 
//     public CId(final long id) {
//         this.id = id;
//     }
// 
//     @Override
//     public EntityType getType() {
//         return TYPE;
//     }
// 
//     @Override
//     public String asString() {
//         return "" + id;
//     }
// 
//     @Override
//     public String asTypedString() {
//         return getType() + " " + asString();
//     }
// 
//     @Override
//     public String toString() {
//         return "CId [id=" + id + "]";
//     }
// 
// }


// Path: src/test/java/org/fuin/ddd4j/ddd/DomainEventExpectedEntityIdPathValidatorTest.java
import static org.assertj.core.api.Assertions.assertThat;
import java.lang.annotation.Annotation;
import jakarta.validation.Payload;
import org.fuin.ddd4j.test.ACreatedEvent;
import org.fuin.ddd4j.test.AId;
import org.fuin.ddd4j.test.BId;
import org.fuin.ddd4j.test.CAddedEvent;
import org.fuin.ddd4j.test.CEvent;
import org.fuin.ddd4j.test.CId;
import org.junit.Test;

/**
 * Copyright (C) 2015 Michael Schnell. All rights reserved. 
 * http://www.fuin.org/
 *
 * This library is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Lesser General Public License as published by the Free
 * Software Foundation; either version 3 of the License, or (at your option) any
 * later version.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
 * details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this library. If not, see http://www.gnu.org/licenses/.
 */
package org.fuin.ddd4j.ddd;





//CHECKSTYLE:OFF Test code
public class DomainEventExpectedEntityIdPathValidatorTest {

    @Test
    public void testIsValidNull() {

        // PREPARE
        final DomainEventExpectedEntityIdPath anno = createAnnotation(AId.class);