All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.javers.core.selftest.Application Maven / Gradle / Ivy

package org.javers.core.selftest;

import org.javers.core.Javers;
import org.javers.core.JaversBuilder;
import org.javers.core.diff.Diff;

import static org.javers.common.validation.Validate.conditionFulfilled;

/**
 * @author bartosz walacik
 */
public class Application {

    public static void main(String[] args) {
        System.out.println(".. Starting javers-core runtime environment self test ...");

        System.out.println("java.runtime.name:          " + System.getProperty("java.runtime.name"));
        System.out.println("java.vendor:                " + System.getProperty("java.vendor"));
        System.out.println("java.runtime.version:       " + System.getProperty("java.runtime.version"));
        System.out.println("java.version:               " + System.getProperty("java.version"));
        System.out.println("java.home:                  " + System.getProperty("java.home"));
        System.out.println("os.name & ver:              " + System.getProperty("os.name")+" v."+System.getProperty("os.version"));

        System.out.println(".. building JaVers instance ...");

        try {
            Javers javers = JaversBuilder.javers().build();

            SampleValueObject left = new SampleValueObject("red");
            SampleValueObject right = new SampleValueObject("green");

            System.out.println(".. calculating diff for two simple ValueObjects...");
            Diff diff = javers.compare(left, right);

            conditionFulfilled(diff.getChanges().size() == 1, "assertion failed");
            conditionFulfilled(diff.getPropertyChanges("color").size() == 1, "assertion failed");

            System.out.println(".. self test PASSED ..");
        }catch(Throwable e) {
            System.out.println(e);
            e.printStackTrace();
            System.out.println(".. self test FAILED! ..");
        }
    }

    private static class SampleValueObject {
        private String color;
        private SampleValueObject(String value) {
            this.color = value;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy