package com.fsck.k9.mail; import java.util.Random; import org.junit.Test; import org.mockito.stubbing.OngoingStubbing; import static org.junit.Assert.assertEquals; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; public class BoundaryGeneratorTest { @Test public void generateBoundary_allZeros() throws Exception { Random random = createRandom(0); BoundaryGenerator boundaryGenerator = new BoundaryGenerator(random); String result = boundaryGenerator.generateBoundary(); assertEquals("----000000000000000000000000000000", result); } @Test public void generateBoundary() throws Exception { Random random = createRandom(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 35); BoundaryGenerator boundaryGenerator = new BoundaryGenerator(random); String result = boundaryGenerator.generateBoundary(); assertEquals("----0123456789ABCDEFGHIJKLMNOPQRSZ", result); } private Random createRandom(int... values) { Random random = mock(Random.class); OngoingStubbing<Integer> ongoingStubbing = when(random.nextInt(36)); for (int value : values) { ongoingStubbing = ongoingStubbing.thenReturn(value); } return random; } }