package org.multiverse.stms.gamma; import org.junit.Test; import org.multiverse.api.LockMode; public class GammaStmConfigTest { @Test(expected = IllegalStateException.class) public void readBiasedThreshold_whenNegative() { GammaStmConfig config = new GammaStmConfig(); config.readBiasedThreshold = -1; config.validate(); } @Test(expected = IllegalStateException.class) public void readBiasedThreshold_whenTooBig() { GammaStmConfig config = new GammaStmConfig(); config.readBiasedThreshold = 1024; config.validate(); } @Test(expected = IllegalStateException.class) public void propagationLevel_whenNull() { GammaStmConfig config = new GammaStmConfig(); config.propagationLevel = null; config.validate(); } @Test(expected = IllegalStateException.class) public void isolationLevel_whenNull() { GammaStmConfig config = new GammaStmConfig(); config.isolationLevel = null; config.validate(); } @Test(expected = IllegalStateException.class) public void readLockMode_whenNull() { GammaStmConfig config = new GammaStmConfig(); config.readLockMode = null; config.validate(); } @Test(expected = IllegalStateException.class) public void writeLockMode_whenNull() { GammaStmConfig config = new GammaStmConfig(); config.writeLockMode = null; config.validate(); } @Test(expected = IllegalStateException.class) public void writeLockMode_whenSmallerThanReadLockMode() { GammaStmConfig config = new GammaStmConfig(); config.writeLockMode = LockMode.None; config.readLockMode = LockMode.Exclusive; config.validate(); } @Test(expected = IllegalStateException.class) public void backoffPolicy_whenNull() { GammaStmConfig config = new GammaStmConfig(); config.backoffPolicy = null; config.validate(); } @Test(expected = IllegalStateException.class) public void traceLevel_whenNull() { GammaStmConfig config = new GammaStmConfig(); config.traceLevel = null; config.validate(); } @Test(expected = IllegalStateException.class) public void maximumPoorMansConflictScanLength_whenNegative() { GammaStmConfig config = new GammaStmConfig(); config.maximumPoorMansConflictScanLength = -1; config.validate(); } @Test(expected = IllegalStateException.class) public void maximumFixedLengthTransactionSize_whenSmallerThan1() { GammaStmConfig config = new GammaStmConfig(); config.maxFixedLengthTransactionSize = 0; config.validate(); } @Test(expected = IllegalStateException.class) public void spinCount_whenSmallerThanZero() { GammaStmConfig config = new GammaStmConfig(); config.spinCount = -1; config.validate(); } @Test(expected = IllegalStateException.class) public void maxRetries_whenSmallerThanZero() { GammaStmConfig config = new GammaStmConfig(); config.maxRetries = -1; config.validate(); } @Test(expected = IllegalStateException.class) public void minimalVariableLengthTransactionSize_whenSmallerThan1() { GammaStmConfig config = new GammaStmConfig(); config.minimalVariableLengthTransactionSize = 0; config.validate(); } @Test(expected = IllegalStateException.class) public void blockingAllowed_whenNoReadTracking() { GammaStmConfig config = new GammaStmConfig(); config.blockingAllowed = true; config.trackReads = false; config.validate(); } @Test(expected = IllegalStateException.class) public void timeout_whenSmallerThanZero() { GammaStmConfig config = new GammaStmConfig(); config.timeoutNs = -1; config.validate(); } }