package com.google.gson; import com.google.gson.internal.Excluder; import com.google.gson.annotations.Since; import junit.framework.TestCase; /** * Unit tests for the {@link Excluder} class. * * @author Joel Leitch */ public class VersionExclusionStrategyTest extends TestCase { private static final double VERSION = 5.0; public void testClassAndFieldAreAtSameVersion() throws Exception { fr.inria.diversify.testamplification.logger.Logger.writeTestStart(Thread.currentThread(),this, "testClassAndFieldAreAtSameVersion"); Excluder excluder = Excluder.DEFAULT.withVersion(VERSION); fr.inria.diversify.testamplification.logger.Logger.logAssertArgument(Thread.currentThread(),3238,excluder,3237,excluder.excludeClass(com.google.gson.VersionExclusionStrategyTest.MockObject.class, true)); fr.inria.diversify.testamplification.logger.Logger.logAssertArgument(Thread.currentThread(),3240,excluder,3239,excluder.excludeField(com.google.gson.VersionExclusionStrategyTest.MockObject.class.getField("someField"), true)); fr.inria.diversify.testamplification.logger.Logger.writeTestFinish(Thread.currentThread()); } public void testClassAndFieldAreBehindInVersion() throws Exception { fr.inria.diversify.testamplification.logger.Logger.writeTestStart(Thread.currentThread(),this, "testClassAndFieldAreBehindInVersion"); Excluder excluder = Excluder.DEFAULT.withVersion(((VERSION) + 2)); fr.inria.diversify.testamplification.logger.Logger.logAssertArgument(Thread.currentThread(),3242,excluder,3241,excluder.excludeClass(com.google.gson.VersionExclusionStrategyTest.MockObject.class, true)); fr.inria.diversify.testamplification.logger.Logger.logAssertArgument(Thread.currentThread(),3244,excluder,3243,excluder.excludeField(com.google.gson.VersionExclusionStrategyTest.MockObject.class.getField("someField"), true)); fr.inria.diversify.testamplification.logger.Logger.writeTestFinish(Thread.currentThread()); } public void testClassAndFieldAreAheadInVersion() throws Exception { fr.inria.diversify.testamplification.logger.Logger.writeTestStart(Thread.currentThread(),this, "testClassAndFieldAreAheadInVersion"); Excluder excluder = Excluder.DEFAULT.withVersion(((VERSION) - 2)); fr.inria.diversify.testamplification.logger.Logger.logAssertArgument(Thread.currentThread(),3234,excluder,3233,excluder.excludeClass(com.google.gson.VersionExclusionStrategyTest.MockObject.class, true)); fr.inria.diversify.testamplification.logger.Logger.logAssertArgument(Thread.currentThread(),3236,excluder,3235,excluder.excludeField(com.google.gson.VersionExclusionStrategyTest.MockObject.class.getField("someField"), true)); fr.inria.diversify.testamplification.logger.Logger.writeTestFinish(Thread.currentThread()); } @Since(value = VersionExclusionStrategyTest.VERSION) private static class MockObject { @Since(value = VersionExclusionStrategyTest.VERSION) public final int someField = 0; } }