@@ -0,0 +1,3008 @@
+/*%0A * Licensed to the Apache Software Foundation (ASF) under one or more%0A * contributor license agreements.  See the NOTICE file distributed with%0A * this work for additional information regarding copyright ownership.%0A * The ASF licenses this file to You under the Apache License, Version 2.0%0A * (the %22License%22); you may not use this file except in compliance with%0A * the License.  You may obtain a copy of the License at%0A * %0A *     http://www.apache.org/licenses/LICENSE-2.0%0A * %0A * Unless required by applicable law or agreed to in writing, software%0A * distributed under the License is distributed on an %22AS IS%22 BASIS,%0A * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A * See the License for the specific language governing permissions and%0A * limitations under the License.%0A */%0Apackage org.apache.jmeter.control;%0A%0Aimport static org.junit.Assert.assertEquals;%0Aimport static org.junit.Assert.assertNull;%0Aimport static org.junit.Assert.assertTrue;%0A%0Aimport java.util.ArrayList;%0Aimport java.util.Arrays;%0Aimport java.util.List;%0A%0Aimport org.apache.jmeter.junit.JMeterTestCase;%0Aimport org.apache.jmeter.junit.stubs.TestSampler;%0Aimport org.apache.jmeter.testelement.TestElement;%0Aimport org.junit.Test;%0A%0Apublic class TestRandomController extends JMeterTestCase %7B%0A%0A    @Test%0A    public void testRandomOrder() %7B%0A        testLog.debug(%22Testing RandomController%22);%0A        RandomController roc = new RandomController();%0A        roc.addTestElement(new TestSampler(%22zero%22));%0A        roc.addTestElement(new TestSampler(%22one%22));%0A        roc.addTestElement(new TestSampler(%22two%22));%0A        roc.addTestElement(new TestSampler(%22three%22));%0A        TestElement sampler = null;%0A        List%3CString%3E usedSamplers = new ArrayList%3C%3E();%0A        roc.initialize();%0A        while ((sampler = roc.next()) != null) %7B%0A            String samplerName = sampler.getName();%0A            if (usedSamplers.contains(samplerName)) %7B%0A                assertTrue(%22Duplicate sampler returned from next()%22, false);%0A            %7D%0A            usedSamplers.add(samplerName);%0A        %7D%0A        assertEquals(1, usedSamplers.size());%0A        assertTrue(Arrays.asList(%22zero%22, %22one%22, %22two%22, %22three%22).contains(usedSamplers.get(0)));%0A    %7D%0A%0A    @Test%0A    public void testRandomNoElements() %7B%0A        RandomController roc = new RandomController();%0A        roc.initialize();%0A        assertNull(roc.next());%0A    %7D%0A%0A    @Test%0A    public void testRandomOneElement() %7B%0A        RandomController roc = new RandomController();%0A        roc.addTestElement(new TestSampler(%22zero%22));%0A        TestElement sampler = null;%0A        List%3CString%3E usedSamplers = new ArrayList%3C%3E();%0A        roc.initialize();%0A        while ((sampler = roc.next()) != null) %7B%0A            String samplerName = sampler.getName();%0A            if (usedSamplers.contains(samplerName)) %7B%0A                assertTrue(%22Duplicate sampler returned from next()%22, false);%0A            %7D%0A            usedSamplers.add(samplerName);%0A        %7D%0A        assertEquals(1, usedSamplers.size());%0A    %7D%0A%7D%0A

Add test for RandomController