package com.oguerreiro.resilient.domain;

import java.util.Random;
import java.util.UUID;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicLong;

public class MetadataPropertyTestSamples {

    private static final Random random = new Random();
    private static final AtomicLong longCount = new AtomicLong(random.nextInt() + (2 * Integer.MAX_VALUE));
    private static final AtomicInteger intCount = new AtomicInteger(random.nextInt() + (2 * Short.MAX_VALUE));

    public static MetadataProperty getMetadataPropertySample1() {
        return new MetadataProperty().id(1L).code("code1").name("name1").description("description1").pattern("pattern1").version(1);
    }

    public static MetadataProperty getMetadataPropertySample2() {
        return new MetadataProperty().id(2L).code("code2").name("name2").description("description2").pattern("pattern2").version(2);
    }

    public static MetadataProperty getMetadataPropertyRandomSampleGenerator() {
        return new MetadataProperty()
            .id(longCount.incrementAndGet())
            .code(UUID.randomUUID().toString())
            .name(UUID.randomUUID().toString())
            .description(UUID.randomUUID().toString())
            .pattern(UUID.randomUUID().toString())
            .version(intCount.incrementAndGet());
    }
}
