diff --git a/pom.xml b/pom.xml index 7194b51..536814a 100644 --- a/pom.xml +++ b/pom.xml @@ -6,8 +6,11 @@ com.github.vincemann ez-compare - 1.0.0-SNAPSHOT.1 + 1.0.0-SNAPSHOT.2 + + UTF-8 + diff --git a/src/main/java/com/github/vincemann/ezcompare/AbstractConfigModifier.java b/src/main/java/com/github/vincemann/ezcompare/AbstractConfigModifier.java new file mode 100644 index 0000000..7b34c8b --- /dev/null +++ b/src/main/java/com/github/vincemann/ezcompare/AbstractConfigModifier.java @@ -0,0 +1,24 @@ +package com.github.vincemann.ezcompare; + +import lombok.AllArgsConstructor; +import org.checkerframework.checker.units.qual.C; + +@AllArgsConstructor +public abstract class AbstractConfigModifier { + + private C config; + + public M reflectUpToClass(Class value) { + config.reflectUpToClass = value; + return (M) this; + } + + public M fullDiff(boolean value) { + config.minimalDiff = value; + return (M) this; + } + + protected C getConfig() { + return config; + } +} diff --git a/src/main/java/com/github/vincemann/ezcompare/Comparator.java b/src/main/java/com/github/vincemann/ezcompare/Comparator.java new file mode 100644 index 0000000..7e03137 --- /dev/null +++ b/src/main/java/com/github/vincemann/ezcompare/Comparator.java @@ -0,0 +1,97 @@ +package com.github.vincemann.ezcompare; + +import com.github.hervian.reflection.Types; +import com.github.vincemann.ezcompare.util.BeanUtils; +import com.github.vincemann.ezcompare.util.ReflectionUtils; +import com.google.common.collect.Sets; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; + +import java.util.HashSet; +import java.util.Set; + +import static com.github.vincemann.ezcompare.util.MethodNameUtil.propertyNameOf; + +/** + * Factory for {@link Comparison}. + * Holds Global Compare Configuration. + * Supports local and global Configuration for each mode: + *

+ * FullCompare: + * local: {@link FullCompareOptionsConfigurer#configureFullCompare(FullCompareOptionsConfigurer.FullCompareConfigConfigurer)} + * global: {@link this#FULL_COMPARE_GLOBAL_CONFIG} + * + * @see FullCompareConfig + * + *

+ * PartialCompare: + * local: {@link PartialCompareOptionsConfigurer#configurePartialCompare(PartialCompareOptionsConfigurer.PartialCompareConfigConfigurer)} + * global: {@link this#PARTIAL_COMPARE_GLOBAL_CONFIG} + * @see PartialCompareConfig + *

+ *

+ */ +public class Comparator { + + /** + * Comparison is initialized with Global Config, if present. + * Otherwise default Configs get created. + */ + private static PartialCompareConfig PARTIAL_COMPARE_GLOBAL_CONFIG; + private static FullCompareConfig FULL_COMPARE_GLOBAL_CONFIG; + + private Comparator() { + } + + /** + * Create with this method. + */ + public static ActorConfigurer compare(Object root) { + return Comparison.builder() + .root(root) + .fullCompareConfig(FullCompareConfigFactory.buildBasedOnGlobal().build()) + .partialCompareConfig(PartialCompareConfigFactory.buildBasedOnGlobal().build()) + .build(); + } + + /** + * Use {@link FullCompareConfig#modify()} for modification. + */ + public static FullCompareConfig getFullCompareGlobalConfig() { + if (FULL_COMPARE_GLOBAL_CONFIG == null) { + FULL_COMPARE_GLOBAL_CONFIG = new FullCompareConfig(); + } + return FULL_COMPARE_GLOBAL_CONFIG; + } + + public static void setFullCompareGlobalConfig(FullCompareConfig fullCompareGlobalConfig) { + FULL_COMPARE_GLOBAL_CONFIG = fullCompareGlobalConfig; + } + + /** + * Use {@link PartialCompareConfig#modify()}for modification. + */ + public static PartialCompareConfig getPartialCompareGlobalConfig() { + if (PARTIAL_COMPARE_GLOBAL_CONFIG == null) { + PARTIAL_COMPARE_GLOBAL_CONFIG = new PartialCompareConfig(); + } + return PARTIAL_COMPARE_GLOBAL_CONFIG; + } + + public static void setPartialCompareGlobalConfig(PartialCompareConfig partialCompareGlobalConfig) { + PARTIAL_COMPARE_GLOBAL_CONFIG = partialCompareGlobalConfig; + } + + /** + * Resets global configuration to default config. + */ + public static void resetGlobalConfig() { + setFullCompareGlobalConfig(FullCompareConfigFactory.buildDefault().build()); + setPartialCompareGlobalConfig(PartialCompareConfigFactory.buildDefault().build()); + } + + + +} diff --git a/src/main/java/com/github/vincemann/ezcompare/Comparison.java b/src/main/java/com/github/vincemann/ezcompare/Comparison.java index 94af3ef..950cc68 100644 --- a/src/main/java/com/github/vincemann/ezcompare/Comparison.java +++ b/src/main/java/com/github/vincemann/ezcompare/Comparison.java @@ -2,17 +2,15 @@ import com.github.hervian.reflection.Types; import com.google.common.collect.Sets; -import com.github.vincemann.ezcompare.util.BeanUtils; -import com.github.vincemann.ezcompare.util.ReflectionUtils; -import lombok.*; +import lombok.AccessLevel; +import lombok.Builder; +import lombok.Getter; +import lombok.Setter; import org.junit.jupiter.api.Assertions; import java.util.ArrayList; -import java.util.HashSet; -import java.util.Set; import java.util.logging.Logger; -import static com.github.vincemann.ezcompare.util.MethodNameUtil.propertyNameOf; import static com.github.vincemann.ezcompare.util.MethodNameUtil.propertyNamesOf; @@ -30,24 +28,14 @@ * Uses only explicitly included fields from root. *

*

- * Supports local and global Configuration for each mode: * - * FullCompare: - * local: {@link FullCompareOptionsConfigurer#configureFullCompare(FullCompareConfigConfigurer)} - * global: {@link this#FULL_COMPARE_GLOBAL_CONFIG} - * @see FullCompareConfig - * - *

- * PartialCompare: - * local: {@link PartialCompareOptionsConfigurer#configurePartialCompare(PartialCompareConfigConfigurer)} - * global: {@link this#PARTIAL_COMPARE_GLOBAL_CONFIG} - * @see PartialCompareConfig - *

- *

* Supports two Result Modes: * minimalDiff: stops searching for differences when first is found. (can be useful for performence reasons) * fullDiff(default): always finds all differences. * @see RapidEqualsBuilder.Diff + * + * + * Create with {@link Comparator#compare(Object)} */ @Getter @Setter @@ -62,16 +50,6 @@ public class Comparison implements { private final static Logger log = Logger.getLogger(Comparison.class.getName()); - /** - * Comparison is initialized with Global Config, if present. - * Otherwise default Configs get created. - * - * - */ - private static PartialCompareConfig PARTIAL_COMPARE_GLOBAL_CONFIG; - private static FullCompareConfig FULL_COMPARE_GLOBAL_CONFIG; - - /** * Local Config within scope of one Compare Process aka one {@link Comparison} instance. */ @@ -84,66 +62,13 @@ public class Comparison implements private RapidEqualsBuilder.Diff diff; private Boolean fullCompare = null; - protected Comparison(Object root) { + @Builder(access = AccessLevel.PROTECTED) + protected Comparison(Object root,FullCompareConfig fullCompareConfig,PartialCompareConfig partialCompareConfig) { this.root = root; - initConfig(); - } - - protected void initConfig(){ - //clone Global Config for local use within this instance - this.fullCompareConfig = FullCompareConfig.buildBasedOnGlobal().build(); - this.partialCompareConfig = PartialCompareConfig.buildDefault().build(); - } - - /** - * Use {@link this#modFullCompareGlobalConfig()} for modification. - */ - public static FullCompareConfig getFullCompareGlobalConfig() { - if (FULL_COMPARE_GLOBAL_CONFIG == null) { - FULL_COMPARE_GLOBAL_CONFIG = new FullCompareConfig(); - } - return FULL_COMPARE_GLOBAL_CONFIG; - } - - /** - * Use {@link this#modPartialCompareGlobalConfig()} for modification. - */ - public static PartialCompareConfig getPartialCompareGlobalConfig() { - if (PARTIAL_COMPARE_GLOBAL_CONFIG == null) { - PARTIAL_COMPARE_GLOBAL_CONFIG = new PartialCompareConfig(); - } - return PARTIAL_COMPARE_GLOBAL_CONFIG; - } - - public static PartialCompareConfig.Builder modPartialCompareGlobalConfig(){ - return new PartialCompareConfig.Builder(getPartialCompareGlobalConfig()); - } - public static FullCompareConfig.Builder modFullCompareGlobalConfig(){ - return new FullCompareConfig.Builder(getFullCompareGlobalConfig()); - } - - public static void setPartialCompareGlobalConfig(PartialCompareConfig partialCompareGlobalConfig) { - PARTIAL_COMPARE_GLOBAL_CONFIG = partialCompareGlobalConfig; - } - - public static void setFullCompareGlobalConfig(FullCompareConfig fullCompareGlobalConfig) { - FULL_COMPARE_GLOBAL_CONFIG = fullCompareGlobalConfig; + this.fullCompareConfig = fullCompareConfig; + this.partialCompareConfig = partialCompareConfig; } - /** - * Resets global configuration to default config. - */ - public static void globalReset(){ - setFullCompareGlobalConfig(FullCompareConfig.buildDefault().build()); - setPartialCompareGlobalConfig(PartialCompareConfig.buildDefault().build()); - } - - /** - * Create with this method. - */ - public static ActorConfigurer compare(Object root) { - return new Comparison(root); - } @Override public SelectedActorConfigurer with(Object actor) { @@ -172,7 +97,7 @@ public FullComparePropertyConfigurer ignore(String... propertyNames) { /** * Globally ignored Properties are not included. * If you want to add some of them anyways for this specific comparison, use {@link this#configureFullCompare(FullCompareConfigConfigurer)} - * and remove them from {@link FullCompareConfig#ignoredProperties} for this specific CompareTemplate. + * and remove them from {@link com.github.vincemann.ezcompare.FullCompareConfig#ignoredProperties} for this specific CompareTemplate. */ @Override public FullComparePropertyConfigurer all() { @@ -233,13 +158,23 @@ protected RapidEqualsBuilder.CompareConfig selectConfig() { @Override public ResultProvider assertEqual() { - Assertions.assertTrue(performEqualCheck()); + boolean equal = performEqualCheck(); + //get better assert msg in test + getDiff().getDiffNodes().forEach(diffNode -> { + Assertions.assertEquals(diffNode.getRootValue(),diffNode.getCompareValue()); + }); + Assertions.assertTrue(equal); return this; } @Override public ResultProvider assertNotEqual() { - Assertions.assertFalse(performEqualCheck()); + boolean equal = performEqualCheck(); + //get better assert msg in test + getDiff().getDiffNodes().forEach(diffNode -> { + Assertions.assertNotEquals(diffNode.getRootValue(),diffNode.getCompareValue()); + }); + Assertions.assertFalse(equal); return this; } @@ -273,232 +208,9 @@ public FullCompareOptionsConfigurer ignoreNotFound(boolean v) { @Override public SelectedActorConfigurer and() { - return Comparison.compare(root).with(compare); - } - - public interface CompareTemplateConfig { - - @Getter - public static abstract class CompareTemplateConfigBuilder /*implements CompareTemplateConfigModder*/ { - private C config; - - public CompareTemplateConfigBuilder(C config) { - this.config = config; - } - - public B reflectUpToClass(Class value) { - config.reflectUpToClass = value; - return (B) this; - } - - public B fullDiff(boolean value) { - config.minimalDiff = value; - return (B) this; - } - - //todo modConfg should return Accessor not Builder - //todo impl accessor this is not the task of a Builder - - - public C build() { - return config; - } - - } - } - - /** - * Config for fullCompare Mode. - * - * @see RapidEqualsBuilder.CompareConfig - * @see Comparison for mode & config info - */ - @Getter - @Setter - @ToString(callSuper = true) - public static class FullCompareConfig extends RapidEqualsBuilder.CompareConfig implements CompareTemplateConfig { - - - /** - * Creates Config based on default Config. - * - * @see this#buildBasedOnGlobal() - */ - public static Builder buildDefault() { - return new Builder(); - } - - /** - * Creates Config based on GlobalConfig. - */ - public static Builder buildBasedOnGlobal() { - return new Builder(BeanUtils.clone(getFullCompareGlobalConfig())); - } - - - - - public boolean isIgnoreNull() { - return ignoreNull; - } - - public void setIgnoreNull(boolean ignoreNull) { - this.ignoreNull = ignoreNull; - } - - public boolean isIgnoreNotFound() { - return ignoreNotFound; - } - - public void setIgnoreNotFound(boolean ignoreNotFound) { - this.ignoreNotFound = ignoreNotFound; - } - - public boolean isUseNullForNotFound() { - return useNullForNotFound; - } - - public void setUseNullForNotFound(boolean useNullForNotFound) { - this.useNullForNotFound = useNullForNotFound; - } - - public Set getIgnoredProperties() { - return ignoredProperties; - } - - public void setIgnoredProperties(Set ignoredProperties) { - this.ignoredProperties = ignoredProperties; - } - - public void ignoreProperty(String ignored) { - getIgnoredProperties().add(ignored); - } - - public void ignoreProperty(Types.Supplier ignored) { - getIgnoredProperties().add(propertyNameOf(ignored)); - } - - public static class Accessor { - - } - - - public static class Builder extends CompareTemplateConfigBuilder { - - public Builder() { - super(new FullCompareConfig()); - } - - public Builder(FullCompareConfig config) { - super(config); - } - - public Builder ignoreNull(boolean v) { - getConfig().setIgnoreNull(v); - return this; - } - - public Builder ignoreNotFound(boolean v) { - getConfig().setIgnoreNotFound(v); - return this; - } - - public Builder useNullForNotFound(boolean v) { - getConfig().setUseNullForNotFound(v); - return this; - } - - public Builder ignoreProperty(String ignored) { - getConfig().ignoreProperty(ignored); - return this; - } - - public Builder ignoreProperty(Types.Supplier ignored) { - getConfig().ignoreProperty(ignored); - return this; - } - - public Builder ignoredProperties(Set ignored) { - getConfig().setIgnoredProperties(ignored); - return this; - } - - - - } - - - } - - /** - * Config for Partial Compare Mode. - * - * @see RapidEqualsBuilder.CompareConfig - * @see Comparison for mode & config info - */ - @ToString(callSuper = true) - public static class PartialCompareConfig extends RapidEqualsBuilder.CompareConfig implements CompareTemplateConfig { - //default config - /** - * Properties/Fields that shall be compared. - */ - private Set includedProperties = new HashSet<>(); - - - /** - * Creates Config based on default Config. - * - * @see this#buildBasedOnGlobal() - */ - public static PartialCompareConfig.Builder buildDefault() { - return new PartialCompareConfig.Builder(); - } - - /** - * Creates Config based on GlobalConfig. - */ - public static PartialCompareConfig.Builder buildBasedOnGlobal() { - return new PartialCompareConfig.Builder(BeanUtils.clone(getPartialCompareGlobalConfig())); - } - - public Set getIncludedProperties() { - return includedProperties; - } - - public void setIncludedProperties(Set includedProperties) { - this.includedProperties = includedProperties; - } - - @Override - public void init(Object root, Object compare) { - Set ignored = ReflectionUtils.getProperties(root.getClass()); - ignored.removeAll(Sets.newHashSet(includedProperties)); - ignoredProperties = ignored; - } - - public static class Builder extends CompareTemplateConfigBuilder { - - public Builder() { - super(new PartialCompareConfig()); - } - - public Builder(PartialCompareConfig config) { - super(config); - } - - public Builder includedProperties(Set properties) { - getConfig().setIncludedProperties(properties); - return this; - } - - } - + return Comparator.compare(root).with(compare); } -// public interface CompareTemplateConfigModder{ -// public T reflectUpToClass(Class value); -// public T fullDiff(boolean value); -// } } diff --git a/src/main/java/com/github/vincemann/ezcompare/FullCompareConfig.java b/src/main/java/com/github/vincemann/ezcompare/FullCompareConfig.java new file mode 100644 index 0000000..8fd3db8 --- /dev/null +++ b/src/main/java/com/github/vincemann/ezcompare/FullCompareConfig.java @@ -0,0 +1,120 @@ +package com.github.vincemann.ezcompare; + +import com.github.hervian.reflection.Types; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; + +import java.util.Set; + +import static com.github.vincemann.ezcompare.util.MethodNameUtil.propertyNameOf; + +/** + * Config for fullCompare Mode. + * + * @see RapidEqualsBuilder.CompareConfig + * @see Comparison for mode & config info + */ +@Getter +@Setter +@ToString(callSuper = true) +public class FullCompareConfig extends RapidEqualsBuilder.CompareConfig{ + + + public FullCompareConfig.Modifier modify() { + return new FullCompareConfig.Modifier<>(this); + } + + + public boolean isIgnoreNull() { + return ignoreNull; + } + + public void setIgnoreNull(boolean ignoreNull) { + this.ignoreNull = ignoreNull; + } + + public boolean isIgnoreNotFound() { + return ignoreNotFound; + } + + public void setIgnoreNotFound(boolean ignoreNotFound) { + this.ignoreNotFound = ignoreNotFound; + } + + public boolean isUseNullForNotFound() { + return useNullForNotFound; + } + + public void setUseNullForNotFound(boolean useNullForNotFound) { + this.useNullForNotFound = useNullForNotFound; + } + + public Set getIgnoredProperties() { + return ignoredProperties; + } + + public void setIgnoredProperties(Set ignoredProperties) { + this.ignoredProperties = ignoredProperties; + } + + public void ignoreProperty(String ignored) { + getIgnoredProperties().add(ignored); + } + + public void ignoreProperty(Types.Supplier ignored) { + getIgnoredProperties().add(propertyNameOf(ignored)); + } + + public static class Modifier extends AbstractConfigModifier { + + Modifier(FullCompareConfig config) { + super(config); + } + + public M ignoreNull(boolean v) { + getConfig().setIgnoreNull(v); + return (M) this; + } + + public M ignoreNotFound(boolean v) { + getConfig().setIgnoreNotFound(v); + return (M) this; + } + + public M useNullForNotFound(boolean v) { + getConfig().setUseNullForNotFound(v); + return (M) this; + } + + public M ignoreProperty(String ignored) { + getConfig().ignoreProperty(ignored); + return (M) this; + } + + public M ignoreProperty(Types.Supplier ignored) { + getConfig().ignoreProperty(ignored); + return (M) this; + } + + public M ignoreProperties(Set ignored) { + getConfig().setIgnoredProperties(ignored); + return (M) this; + } + } + + public static class Builder extends Modifier { + + Builder() { + super(new FullCompareConfig()); + } + + Builder(FullCompareConfig config) { + super(config); + } + + FullCompareConfig build() { + return getConfig(); + } + } +} diff --git a/src/main/java/com/github/vincemann/ezcompare/FullCompareConfigFactory.java b/src/main/java/com/github/vincemann/ezcompare/FullCompareConfigFactory.java new file mode 100644 index 0000000..d2d69a2 --- /dev/null +++ b/src/main/java/com/github/vincemann/ezcompare/FullCompareConfigFactory.java @@ -0,0 +1,35 @@ +package com.github.vincemann.ezcompare; + +import com.github.vincemann.ezcompare.util.BeanUtils; + +import static com.github.vincemann.ezcompare.Comparator.getFullCompareGlobalConfig; + +public class FullCompareConfigFactory { + + /** + * Creates Config based on default Config. + * + * @see this#buildBasedOnGlobal() + */ + public static FullCompareConfig.Builder buildDefault() { + return new FullCompareConfig.Builder(); + } + + public static FullCompareConfig createDefault() { + return buildDefault().build(); + } + + /** + * Creates Config based on GlobalConfig. (clone) + */ + public static FullCompareConfig.Builder buildBasedOnGlobal() { + return new FullCompareConfig.Builder(BeanUtils.clone(getFullCompareGlobalConfig())); + } + + /** + * Creates Config based on GlobalConfig. (clone) + */ + public static FullCompareConfig createBasedOnGlobal() { + return buildBasedOnGlobal().build(); + } +} diff --git a/src/main/java/com/github/vincemann/ezcompare/FullCompareOptionsConfigurer.java b/src/main/java/com/github/vincemann/ezcompare/FullCompareOptionsConfigurer.java index 864ce75..a81bf9a 100644 --- a/src/main/java/com/github/vincemann/ezcompare/FullCompareOptionsConfigurer.java +++ b/src/main/java/com/github/vincemann/ezcompare/FullCompareOptionsConfigurer.java @@ -4,7 +4,7 @@ public interface FullCompareOptionsConfigurer extends CompareOptionsConfigurer{ interface FullCompareConfigConfigurer{ - public void configure(Comparison.FullCompareConfig config); + public void configure(FullCompareConfig config); } public FullCompareOptionsConfigurer ignoreNull(boolean value); diff --git a/src/main/java/com/github/vincemann/ezcompare/PartialCompareConfig.java b/src/main/java/com/github/vincemann/ezcompare/PartialCompareConfig.java new file mode 100644 index 0000000..fe54994 --- /dev/null +++ b/src/main/java/com/github/vincemann/ezcompare/PartialCompareConfig.java @@ -0,0 +1,72 @@ +package com.github.vincemann.ezcompare; + +import com.github.vincemann.ezcompare.util.ReflectionUtils; +import com.google.common.collect.Sets; +import lombok.ToString; + +import java.util.HashSet; +import java.util.Set; + +/** + * Config for Partial Compare Mode. + * + * @see RapidEqualsBuilder.CompareConfig + * @see Comparison for mode & config info + */ +@ToString(callSuper = true) +public class PartialCompareConfig extends RapidEqualsBuilder.CompareConfig{ + //default config + /** + * Properties/Fields that shall be compared. + */ + private Set includedProperties = new HashSet<>(); + + + public Modifier modify() { + return new Modifier<>(this); + } + + public Set getIncludedProperties() { + return includedProperties; + } + + public void setIncludedProperties(Set includedProperties) { + this.includedProperties = includedProperties; + } + + @Override + public void init(Object root, Object compare) { + Set ignored = ReflectionUtils.getProperties(root.getClass()); + ignored.removeAll(Sets.newHashSet(includedProperties)); + ignoredProperties = ignored; + } + + public static class Modifier extends AbstractConfigModifier { + + public Modifier(PartialCompareConfig config) { + super(config); + } + + public M includeProperties(Set properties) { + getConfig().setIncludedProperties(properties); + return (M) this; + } + } + + public static class Builder extends Modifier { + + Builder() { + super(new PartialCompareConfig()); + } + + Builder(PartialCompareConfig config) { + super(config); + } + + PartialCompareConfig build() { + return getConfig(); + } + + } + +} diff --git a/src/main/java/com/github/vincemann/ezcompare/PartialCompareConfigFactory.java b/src/main/java/com/github/vincemann/ezcompare/PartialCompareConfigFactory.java new file mode 100644 index 0000000..f5f9fc5 --- /dev/null +++ b/src/main/java/com/github/vincemann/ezcompare/PartialCompareConfigFactory.java @@ -0,0 +1,35 @@ +package com.github.vincemann.ezcompare; + +import com.github.vincemann.ezcompare.util.BeanUtils; + +import static com.github.vincemann.ezcompare.Comparator.getPartialCompareGlobalConfig; + +public class PartialCompareConfigFactory { + + /** + * Creates Config based on default Config. + * + * @see this#buildBasedOnGlobal() + */ + public static PartialCompareConfig.Builder buildDefault() { + return new PartialCompareConfig.Builder(); + } + + public static PartialCompareConfig createDefault() { + return buildDefault().build(); + } + + /** + * Creates Config based on GlobalConfig. (clone) + */ + public static PartialCompareConfig.Builder buildBasedOnGlobal() { + return new PartialCompareConfig.Builder(BeanUtils.clone(getPartialCompareGlobalConfig())); + } + + /** + * Creates Config based on GlobalConfig. (clone) + */ + public static PartialCompareConfig createBasedOnGlobal() { + return buildBasedOnGlobal().build(); + } +} diff --git a/src/main/java/com/github/vincemann/ezcompare/PartialCompareOptionsConfigurer.java b/src/main/java/com/github/vincemann/ezcompare/PartialCompareOptionsConfigurer.java index fff3c6a..86ba3a2 100644 --- a/src/main/java/com/github/vincemann/ezcompare/PartialCompareOptionsConfigurer.java +++ b/src/main/java/com/github/vincemann/ezcompare/PartialCompareOptionsConfigurer.java @@ -3,7 +3,7 @@ public interface PartialCompareOptionsConfigurer extends CompareOptionsConfigurer{ interface PartialCompareConfigConfigurer{ - public void configure(Comparison.PartialCompareConfig config); + public void configure(PartialCompareConfig config); } public PartialCompareOptionsConfigurer configurePartialCompare(PartialCompareConfigConfigurer configurer); } diff --git a/src/main/java/com/github/vincemann/ezcompare/RapidArgumentMatchers.java b/src/main/java/com/github/vincemann/ezcompare/RapidArgumentMatchers.java index 8aa1a1c..4ae1ba4 100644 --- a/src/main/java/com/github/vincemann/ezcompare/RapidArgumentMatchers.java +++ b/src/main/java/com/github/vincemann/ezcompare/RapidArgumentMatchers.java @@ -18,8 +18,8 @@ public class RapidArgumentMatchers { public static T fullRefEq(T root, String... ignoredProperties) { return fullRefEq( root, - Comparison.FullCompareConfig.buildBasedOnGlobal() - .ignoredProperties(Sets.newHashSet(ignoredProperties)) + FullCompareConfigFactory.buildBasedOnGlobal() + .ignoreProperties(Sets.newHashSet(ignoredProperties)) .build() ); } @@ -28,7 +28,7 @@ public static T fullRefEq(T root, Types.Supplier... ignoredGetter) { return fullRefEq(root, propertyNamesOf(ignoredGetter)); } - public static T fullRefEq(T root, Comparison.FullCompareConfig config) { + public static T fullRefEq(T root, FullCompareConfig config) { reportMatcher(new RapidReflectionEquals(root, config)); return null; } @@ -44,13 +44,13 @@ public static T partialRefEq(T root, Types.Supplier... includedGetter) { public static T partialRefEq(T root, String... includedProperties) { return partialRefEq( root, - Comparison.PartialCompareConfig.buildBasedOnGlobal() - .includedProperties(Sets.newHashSet(includedProperties)) + PartialCompareConfigFactory.buildBasedOnGlobal() + .includeProperties(Sets.newHashSet(includedProperties)) .build() ); } - public static T partialRefEq(T root, Comparison.PartialCompareConfig config) { + public static T partialRefEq(T root, PartialCompareConfig config) { reportMatcher(new RapidReflectionEquals(root, config)); return null; } diff --git a/src/test/java/com/github/vincemann/ezcompare/CompareTemplateFullCompareTest.java b/src/test/java/com/github/vincemann/ezcompare/CompareTemplateFullCompareTest.java index e4ec265..de1595d 100644 --- a/src/test/java/com/github/vincemann/ezcompare/CompareTemplateFullCompareTest.java +++ b/src/test/java/com/github/vincemann/ezcompare/CompareTemplateFullCompareTest.java @@ -12,7 +12,7 @@ import java.util.Set; -import static com.github.vincemann.ezcompare.Comparison.compare; +import static com.github.vincemann.ezcompare.Comparator.compare; class CompareTemplateFullCompareTest { @@ -20,7 +20,7 @@ class CompareTemplateFullCompareTest { @BeforeEach void setUp() { - Comparison.globalReset(); + Comparator.resetGlobalConfig(); } @Test diff --git a/src/test/java/com/github/vincemann/ezcompare/CompareTemplatePartialCompareTest.java b/src/test/java/com/github/vincemann/ezcompare/CompareTemplatePartialCompareTest.java index 336751d..2cec348 100644 --- a/src/test/java/com/github/vincemann/ezcompare/CompareTemplatePartialCompareTest.java +++ b/src/test/java/com/github/vincemann/ezcompare/CompareTemplatePartialCompareTest.java @@ -9,7 +9,7 @@ import java.util.Set; -import static com.github.vincemann.ezcompare.Comparison.compare; +import static com.github.vincemann.ezcompare.Comparator.compare; class CompareTemplatePartialCompareTest { @@ -69,7 +69,7 @@ public Child() { @BeforeEach void setUp() { - Comparison.globalReset(); + Comparator.resetGlobalConfig(); } diff --git a/src/test/java/com/github/vincemann/ezcompare/ShowCaseTests.java b/src/test/java/com/github/vincemann/ezcompare/ShowCaseTests.java index 96d64db..e799bc4 100644 --- a/src/test/java/com/github/vincemann/ezcompare/ShowCaseTests.java +++ b/src/test/java/com/github/vincemann/ezcompare/ShowCaseTests.java @@ -5,7 +5,7 @@ import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; -import static com.github.vincemann.ezcompare.Comparison.compare; +import static com.github.vincemann.ezcompare.Comparator.compare; import static com.github.vincemann.ezcompare.util.MethodNameUtil.propertyNameOf; public class ShowCaseTests { @@ -157,7 +157,8 @@ public void fullCompareEasy_globalConfig(){ //i.E. Name is always diff in database compared to dto + ip irrelevant in dev env // -> creating Global Dev Compare Config //this could be initialized once in an abstract test ect. and would survive between tests - Comparison.modFullCompareGlobalConfig() + Comparator.getFullCompareGlobalConfig() + .modify() .ignoreProperty(p::getCreatorIp) .ignoreProperty("name") .ignoreNotFound(true)