private double getNaN() { NaN_counter = (NaN_counter + 1) % NaNs.length; assertTrue("Assumption violated!", Double.isNaN(NaNs[NaN_counter])); return NaNs[NaN_counter]; }
private double getNaN() { NaN_counter = (NaN_counter + 1) % NaNs.length; assertTrue("Assumption violated!", Double.isNaN(NaNs[NaN_counter])); return NaNs[NaN_counter]; }
private void assertNaN(String msg, double nan) { // using Double.doubleToRawLongBits to enforce that it's Double.NaN // instead of e.g. 1/0, Math.sqrt(-1) etc assertTrue(msg, Double.doubleToRawLongBits(nan) == Double.doubleToRawLongBits(Double.NaN)); }
private void assertNaN(String msg, double nan) { // using Double.doubleToRawLongBits to enforce that it's Double.NaN // instead of e.g. 1/0, Math.sqrt(-1) etc assertTrue(msg, Double.doubleToRawLongBits(nan) == Double.doubleToRawLongBits(Double.NaN)); }
/** * Should only be used after calculateDerived() */ private void checkStatsValidState(Stats stats) { assertTrue("Incorrect count in valid state!", stats.count > 0); if (stats.count <= 1) assertTrue("Incorrect stdDev in valid state!", Double.isNaN(stats.stdDev)); if (!Double.isNaN(stats.stdDev)) assertTrue("Incorrect stdDev in valid state!", stats.stdDev >= 0); assertFalse("Incorrect mean in valid state!", Double.isNaN(stats.mean)); assertFalse("Incorrect min in valid state!", Double.isNaN(stats.min)); assertFalse("Incorrect max in valid state!", Double.isNaN(stats.max)); }
/** * Should only be used after calculateDerived() */ private void checkStatsValidState(Stats stats) { assertTrue("Incorrect count in valid state!", stats.count > 0); if (stats.count <= 1) assertTrue("Incorrect stdDev in valid state!", Double.isNaN(stats.stdDev)); if (!Double.isNaN(stats.stdDev)) assertTrue("Incorrect stdDev in valid state!", stats.stdDev >= 0); assertFalse("Incorrect mean in valid state!", Double.isNaN(stats.mean)); assertFalse("Incorrect min in valid state!", Double.isNaN(stats.min)); assertFalse("Incorrect max in valid state!", Double.isNaN(stats.max)); }
/** * Can be used after add/subtract/calculateDerived() */ private void checkStatsInitialized(Stats stats) { assertTrue("Incorrect initialization for count!", 0.0 == stats.count); assertTrue("Incorrect initialization for sum!", 0.0 == stats.sum); assertTrue("Incorrect initialization for sumSq!", 0.0 == stats.sumSq); assertNaN("Incorrect initialization for stdDev!", stats.stdDev); assertNaN("Incorrect initialization for mean!", stats.mean); assertNaN("Incorrect initialization for min!", stats.min); assertNaN("Incorrect initialization for max!", stats.max); }
/** * Can be used after add/subtract/calculateDerived() */ private void checkStatsInitialized(Stats stats) { assertTrue("Incorrect initialization for count!", 0.0 == stats.count); assertTrue("Incorrect initialization for sum!", 0.0 == stats.sum); assertTrue("Incorrect initialization for sumSq!", 0.0 == stats.sumSq); assertNaN("Incorrect initialization for stdDev!", stats.stdDev); assertNaN("Incorrect initialization for mean!", stats.mean); assertNaN("Incorrect initialization for min!", stats.min); assertNaN("Incorrect initialization for max!", stats.max); }
assertTrue("Assumption violated in testcase!", max_simple < getWeightedMax(weightedValues1)); assertTrue("Assumption violated in testcase!", min_simple > getWeightedMin(weightedValues1)); addWeightedStats(stats, weightedValues1); assertEquals("Assumption violated in testcase!", max_simple, max_real); assertEquals("Assumption violated in testcase!", min_simple, min_real); assertTrue("Incorrect min!", min_real >= stats.min && stats.min >= min_simple); assertTrue("Incorrect max!", max_real <= stats.max && stats.max <= max_simple); max_real = Math.max(max_real, getWeightedMax(weightedValues3)); min_real = Math.min(min_real, getWeightedMin(weightedValues3)); assertTrue("Incorrect min!", min_real >= stats.min && stats.min >= min_simple); assertTrue("Incorrect max!", max_real <= stats.max && stats.max <= max_simple); assertTrue("Assumption violated in testcase!", max_simple > max_real); assertTrue("Assumption violated in testcase!", min_simple < min_real); assertTrue("Incorrect min!", min_real >= stats.min && stats.min >= min_simple); assertTrue("Incorrect max!", max_real <= stats.max && stats.max <= max_simple);
/** * Can be used after add/subtract/calculateDerived() */ private void checkStatsNegativeCount(Stats stats) { assertTrue("Incorrect negative count!", stats.count < 0); assertNaN("Incorrect negative count for sum!", stats.sum); assertNaN("Incorrect negative count for sumSq!", stats.sumSq); assertNaN("Incorrect negative count for stdDev!", stats.stdDev); assertNaN("Incorrect negative count for mean!", stats.mean); assertNaN("Incorrect negative count for min!", stats.min); assertNaN("Incorrect negative count for max!", stats.max); }
assertTrue("Assumption violated in testcase!", max_simple < getWeightedMax(weightedValues1)); assertTrue("Assumption violated in testcase!", min_simple > getWeightedMin(weightedValues1)); addWeightedStats(stats, weightedValues1); assertEquals("Assumption violated in testcase!", max_simple, max_real); assertEquals("Assumption violated in testcase!", min_simple, min_real); assertTrue("Incorrect min!", min_real >= stats.min && stats.min >= min_simple); assertTrue("Incorrect max!", max_real <= stats.max && stats.max <= max_simple); max_real = Math.max(max_real, getWeightedMax(weightedValues3)); min_real = Math.min(min_real, getWeightedMin(weightedValues3)); assertTrue("Incorrect min!", min_real >= stats.min && stats.min >= min_simple); assertTrue("Incorrect max!", max_real <= stats.max && stats.max <= max_simple); assertTrue("Assumption violated in testcase!", max_simple > max_real); assertTrue("Assumption violated in testcase!", min_simple < min_real); assertTrue("Incorrect min!", min_real >= stats.min && stats.min >= min_simple); assertTrue("Incorrect max!", max_real <= stats.max && stats.max <= max_simple);
/** * Can be used after add/subtract/calculateDerived() */ private void checkStatsNegativeCount(Stats stats) { assertTrue("Incorrect negative count!", stats.count < 0); assertNaN("Incorrect negative count for sum!", stats.sum); assertNaN("Incorrect negative count for sumSq!", stats.sumSq); assertNaN("Incorrect negative count for stdDev!", stats.stdDev); assertNaN("Incorrect negative count for mean!", stats.mean); assertNaN("Incorrect negative count for min!", stats.min); assertNaN("Incorrect negative count for max!", stats.max); }