From c7f2d5c7c7d7a1c8ac46afebe321968d3bf78fd4 Mon Sep 17 00:00:00 2001 From: Mark DePristo Date: Fri, 18 Nov 2011 14:49:06 -0500 Subject: [PATCH] Final minor fix to contract --- .../sting/utils/variantcontext/GenotypesContext.java | 1 - .../sting/utils/variantcontext/VariantContextBuilder.java | 7 ++++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/public/java/src/org/broadinstitute/sting/utils/variantcontext/GenotypesContext.java b/public/java/src/org/broadinstitute/sting/utils/variantcontext/GenotypesContext.java index a639f512e..47e6b2fbe 100644 --- a/public/java/src/org/broadinstitute/sting/utils/variantcontext/GenotypesContext.java +++ b/public/java/src/org/broadinstitute/sting/utils/variantcontext/GenotypesContext.java @@ -213,7 +213,6 @@ public class GenotypesContext implements List { * @param toCopy the collection of genotypes * @return an mutable GenotypeContext containing genotypes */ - @Requires({"toCopy != null"}) @Ensures({"result != null"}) public static final GenotypesContext copy(final Collection toCopy) { return toCopy == null ? NO_GENOTYPES : create(new ArrayList(toCopy)); diff --git a/public/java/src/org/broadinstitute/sting/utils/variantcontext/VariantContextBuilder.java b/public/java/src/org/broadinstitute/sting/utils/variantcontext/VariantContextBuilder.java index 67077e8c3..a2065d458 100644 --- a/public/java/src/org/broadinstitute/sting/utils/variantcontext/VariantContextBuilder.java +++ b/public/java/src/org/broadinstitute/sting/utils/variantcontext/VariantContextBuilder.java @@ -24,7 +24,7 @@ package org.broadinstitute.sting.utils.variantcontext; -import com.google.java.contract.Requires; +import com.google.java.contract.*; import org.broad.tribble.Feature; import org.broad.tribble.TribbleException; import org.broad.tribble.util.ParsingUtils; @@ -158,10 +158,11 @@ public class VariantContextBuilder { * @return */ @Requires({"key != null"}) + @Ensures({"this.attributes.size() == old(this.attributes.size()) || this.attributes.size() == old(this.attributes.size()+1)"}) public VariantContextBuilder attribute(final String key, final Object value) { if ( ! attributesCanBeModified ) { this.attributesCanBeModified = true; - this.attributes = new HashMap(); + this.attributes = new HashMap(attributes); } attributes.put(key, value); return this; @@ -282,7 +283,7 @@ public class VariantContextBuilder { * @param negLog10PError * @return */ - @Requires("negLog10PError <= 0 || negLog10PError == VariantContext.NO_NEG_LOG_10PERROR") + @Requires("negLog10PError >= 0 || negLog10PError == VariantContext.NO_NEG_LOG_10PERROR") public VariantContextBuilder negLog10PError(final double negLog10PError) { this.negLog10PError = negLog10PError; return this;