Best Mockito code snippet using org.mockito.ArgumentMatchers.floatThat
Source:MatchersMixin.java  
...238    default <T> T eq(T value) {239        return ArgumentMatchers.eq(value);240    }241    /**242     * Delegate call to public static float org.mockito.ArgumentMatchers.floatThat(org.mockito.ArgumentMatcher<java.lang.Float>)243     * {@link org.mockito.ArgumentMatchers#floatThat(org.mockito.ArgumentMatcher)}244     */245    default float floatThat(ArgumentMatcher<Float> matcher) {246        return ArgumentMatchers.floatThat(matcher);247    }248    /**249     * Delegate call to public static int org.mockito.ArgumentMatchers.intThat(org.mockito.ArgumentMatcher<java.lang.Integer>)250     * {@link org.mockito.ArgumentMatchers#intThat(org.mockito.ArgumentMatcher)}251     */252    default int intThat(ArgumentMatcher<Integer> matcher) {253        return ArgumentMatchers.intThat(matcher);254    }255    /**256     * Delegate call to public static <T> T org.mockito.ArgumentMatchers.isA(java.lang.Class<T>)257     * {@link org.mockito.ArgumentMatchers#isA(java.lang.Class)}258     */259    default <T> T isA(Class<T> type) {260        return ArgumentMatchers.isA(type);...Source:FlingTests.java  
...16package androidx.dynamicanimation.tests;17import static org.junit.Assert.assertEquals;18import static org.junit.Assert.assertTrue;19import static org.mockito.ArgumentMatchers.eq;20import static org.mockito.ArgumentMatchers.floatThat;21import static org.mockito.Mockito.mock;22import static org.mockito.Mockito.timeout;23import static org.mockito.Mockito.verify;24import android.view.View;25import androidx.dynamicanimation.animation.DynamicAnimation;26import androidx.dynamicanimation.animation.FlingAnimation;27import androidx.dynamicanimation.animation.FloatPropertyCompat;28import androidx.dynamicanimation.animation.FloatValueHolder;29import androidx.dynamicanimation.test.R;30import androidx.test.ext.junit.runners.AndroidJUnit4;31import androidx.test.filters.LargeTest;32import androidx.test.platform.app.InstrumentationRegistry;33import androidx.test.rule.ActivityTestRule;34import org.junit.Before;35import org.junit.Rule;36import org.junit.Test;37import org.junit.rules.ExpectedException;38import org.junit.runner.RunWith;39import org.mockito.internal.matchers.GreaterThan;40import org.mockito.internal.matchers.LessThan;41@LargeTest42@RunWith(AndroidJUnit4.class)43public class FlingTests {44    @Rule45    public final ActivityTestRule<AnimationActivity> mActivityTestRule;46    public View mView1;47    public View mView2;48    @Rule49    public ExpectedException mExpectedException = ExpectedException.none();50    public FlingTests() {51        mActivityTestRule = new ActivityTestRule<>(AnimationActivity.class);52    }53    @Before54    public void setup() throws Exception {55        mView1 = mActivityTestRule.getActivity().findViewById(R.id.anim_view);56        mView2 = mActivityTestRule.getActivity().findViewById(R.id.anim_another_view);57    }58    /**59     * Test that custom properties are supported.60     */61    @Test62    public void testCustomProperties() {63        final Object animObj = new Object();64        FloatPropertyCompat property = new FloatPropertyCompat("") {65            private float mValue = 0f;66            @Override67            public float getValue(Object object) {68                assertEquals(animObj, object);69                return mValue;70            }71            @Override72            public void setValue(Object object, float value) {73                assertEquals(animObj, object);74                assertTrue(value > mValue);75                assertTrue(value >= 100);76                mValue = value;77            }78        };79        final FlingAnimation anim = new FlingAnimation(animObj, property);80        DynamicAnimation.OnAnimationEndListener listener = mock(81                DynamicAnimation.OnAnimationEndListener.class);82        anim.addEndListener(listener);83        InstrumentationRegistry.getInstrumentation().runOnMainSync(new Runnable() {84            @Override85            public void run() {86                anim.setStartValue(100).setStartVelocity(2000).start();87            }88        });89        verify(listener, timeout(2000)).onAnimationEnd(eq(anim), eq(false), floatThat(90                new GreaterThan(110f)), eq(0f));91    }92    /**93     * Test that fling animation can work with a single property without an object.94     */95    @Test96    public void testFloatValueHolder() {97        FloatValueHolder floatValueHolder = new FloatValueHolder();98        assertEquals(0.0f, floatValueHolder.getValue(), 0.01f);99        final FlingAnimation anim = new FlingAnimation(floatValueHolder).setStartVelocity(-2500);100        DynamicAnimation.OnAnimationEndListener listener = mock(101                DynamicAnimation.OnAnimationEndListener.class);102        anim.addEndListener(listener);103        InstrumentationRegistry.getInstrumentation().runOnMainSync(new Runnable() {104            @Override105            public void run() {106                anim.start();107            }108        });109        verify(listener, timeout(2000)).onAnimationEnd(eq(anim), eq(false), floatThat(110                new LessThan(-50f)), eq(0f));111    }112    /**113     * Test that friction does affect how fast the slow down happens. Fling animation with114     * higher friction should finish first.115     */116    @Test117    public void testFriction() {118        FloatValueHolder floatValueHolder = new FloatValueHolder();119        float lowFriction = 0.5f;120        float highFriction = 2f;121        final FlingAnimation animLowFriction = new FlingAnimation(floatValueHolder);122        final FlingAnimation animHighFriction = new FlingAnimation(floatValueHolder);123        animHighFriction.setFriction(highFriction);124        animLowFriction.setFriction(lowFriction);125        DynamicAnimation.OnAnimationEndListener listener = mock(126                DynamicAnimation.OnAnimationEndListener.class);127        animHighFriction.addEndListener(listener);128        InstrumentationRegistry.getInstrumentation().runOnMainSync(new Runnable() {129            @Override130            public void run() {131                animHighFriction.setStartVelocity(5000).setStartValue(0).start();132                animLowFriction.setStartVelocity(5000).setStartValue(0).start();133            }134        });135        verify(listener, timeout(1000)).onAnimationEnd(eq(animHighFriction), eq(false), floatThat(136                new GreaterThan(200f)), eq(0f));137        // By the time high scalar animation finishes, the lower friction animation should still be138        // running.139        assertTrue(animLowFriction.isRunning());140        InstrumentationRegistry.getInstrumentation().runOnMainSync(new Runnable() {141            @Override142            public void run() {143                animLowFriction.cancel();144            }145        });146        assertEquals(lowFriction, animLowFriction.getFriction(), 0f);147        assertEquals(highFriction, animHighFriction.getFriction(), 0f);148    }149    /**150     * Test that velocity threshold does affect how early fling animation ends. An animation with151     * higher velocity threshold should finish first.152     */153    @Test154    public void testVelocityThreshold() {155        FloatValueHolder floatValueHolder = new FloatValueHolder();156        float lowThreshold = 5f;157        final float highThreshold = 10f;158        final FlingAnimation animLowThreshold = new FlingAnimation(floatValueHolder);159        final FlingAnimation animHighThreshold = new FlingAnimation(floatValueHolder);160        animHighThreshold.setMinimumVisibleChange(highThreshold);161        animHighThreshold.addUpdateListener(new DynamicAnimation.OnAnimationUpdateListener() {162            @Override163            public void onAnimationUpdate(DynamicAnimation animation, float value, float velocity) {164                if (velocity != 0f) {165                    // Other than last frame, velocity should always be above threshold166                    assertTrue(velocity >= highThreshold);167                }168            }169        });170        animLowThreshold.setMinimumVisibleChange(lowThreshold);171        DynamicAnimation.OnAnimationEndListener listener = mock(172                DynamicAnimation.OnAnimationEndListener.class);173        animHighThreshold.addEndListener(listener);174        InstrumentationRegistry.getInstrumentation().runOnMainSync(new Runnable() {175            @Override176            public void run() {177                animHighThreshold.setStartVelocity(2000).setStartValue(0).start();178                animLowThreshold.setStartVelocity(2000).setStartValue(0).start();179            }180        });181        verify(listener, timeout(1000)).onAnimationEnd(eq(animHighThreshold), eq(false), floatThat(182                new GreaterThan(200f)), eq(0f));183        // By the time high scalar animation finishes, the lower friction animation should still be184        // running.185        assertTrue(animLowThreshold.isRunning());186        InstrumentationRegistry.getInstrumentation().runOnMainSync(new Runnable() {187            @Override188            public void run() {189                animLowThreshold.cancel();190            }191        });192        assertEquals(lowThreshold, animLowThreshold.getMinimumVisibleChange(), 0f);193        assertEquals(highThreshold, animHighThreshold.getMinimumVisibleChange(), 0f);194    }195}...Source:WithArgumentMatchers.java  
...279    default long longThat(final ArgumentMatcher<Long> matcher) {280        return ArgumentMatchers.longThat(matcher);281    }282    /**283     * @see ArgumentMatchers#floatThat(ArgumentMatcher)284     */285    default float floatThat(final ArgumentMatcher<Float> matcher) {286        return ArgumentMatchers.floatThat(matcher);287    }288    /**289     * @see ArgumentMatchers#doubleThat(ArgumentMatcher)290     */291    default double doubleThat(final ArgumentMatcher<Double> matcher) {292        return ArgumentMatchers.doubleThat(matcher);293    }294}...Source:PieChartParameterizedTest.java  
...22import static java.util.Arrays.asList;23import static org.mockito.ArgumentMatchers.any;24import static org.mockito.ArgumentMatchers.anyFloat;25import static org.mockito.ArgumentMatchers.anyInt;26import static org.mockito.ArgumentMatchers.floatThat;27import static org.mockito.Mockito.inOrder;28import static org.mockito.Mockito.mock;29import static org.mockito.Mockito.when;30@RunWith(Parameterized.class)31@SuppressWarnings("WeakerAccess")32public class PieChartParameterizedTest {33    private static final double PRECISION = 2 * 1E-3F;34    @Parameter()35    public double[] values;36    @Parameter(1)37    public double[] startAngles;38    @Parameter(2)39    public double[] arcLengths;40    @Parameter(3)41    public ColorWrap[] colors;42    @Mock43    GraphicsWrap graphics;44    @Mock45    PlotSheet plot;46    PieChart pieChart;47    private MockedStatic<Color> colorMockedStatic;48    @Before49    public void setUp() {50        colorMockedStatic = Mockito.mockStatic(Color.class);51        MockitoAnnotations.openMocks(this);52        when(Color.argb(anyInt(), anyInt(), anyInt(), anyInt())).thenReturn(0);53        when(plot.getFrameThickness()).thenReturn(new float[]{0, 0, 0, 0});54        FontMetricsWrap fm = mock(FontMetricsWrap.class);55        when(fm.getHeight()).thenReturn(10f);56        when(fm.stringWidth(any(String.class))).thenReturn(30f);57        when(graphics.getFontMetrics()).thenReturn(fm);58        RectangleWrap r = createRectangleMock(100, 100);59        when(graphics.getClipBounds()).thenReturn(r);60        pieChart = new PieChart(plot, values, colors);61    }62    @After63    public void tearDown() {64        colorMockedStatic.close();65    }66    @Test67    public void testPaintDrawsAllArcs() {68        pieChart.paint(graphics);69        // ordered verification is used to prevent failures when there are tiny adjacent sectors70        InOrder inOrder = inOrder(graphics);71        for (int i = 0; i < values.length; i++) {72            if (arcLengths[i] == 0) continue;73            inOrder.verify(graphics).setColor(colors[i]);74            inOrder.verify(graphics).fillArc(anyFloat(), anyFloat(), anyFloat(), anyFloat(),75                    floatThat(closeTo(startAngles[i])),76                    floatThat(closeTo(arcLengths[i])));77        }78    }79    private static FloatMatcher closeTo(double v) {80        return FloatMatcher.closeTo(v, PRECISION);81    }82    @Parameterized.Parameters83    public static Collection<Object[]> data() {84        return createParametersCollection(asList(85                values(1),86                values(0, 1),87                values(1, 0),88                values(1, 0, 1),89                // arrays of equal values of various sizes90                equalValues(2),...Source:PieChartTest.java  
...12import org.mockito.MockitoAnnotations;13import static org.mockito.ArgumentMatchers.anyFloat;14import static org.mockito.ArgumentMatchers.anyInt;15import static org.mockito.ArgumentMatchers.anyString;16import static org.mockito.ArgumentMatchers.floatThat;17import static org.mockito.Mockito.mock;18import static org.mockito.Mockito.mockStatic;19import static org.mockito.Mockito.never;20import static org.mockito.Mockito.verify;21import static org.mockito.Mockito.when;22public class PieChartTest {23    private static final double PRECISION = 1E-3F;24    @Mock25    private GraphicsWrap graphics;26    @Mock27    private PlotSheet plot;28    private PieChart pieChart;29    private MockedStatic<Color> colorMockedStatic;30    @Before31    public void setUp() {32        colorMockedStatic = mockStatic(Color.class);33        MockitoAnnotations.openMocks(this);34        when(Color.argb(anyInt(), anyInt(), anyInt(), anyInt())).thenReturn(0);35        when(plot.getFrameThickness()).thenReturn(new float[]{0, 0, 0, 0});36        FontMetricsWrap fm = mock(FontMetricsWrap.class);37        when(fm.getHeight()).thenReturn(10f);38        when(fm.stringWidth(anyString())).thenReturn(30f);39        when(graphics.getFontMetrics()).thenReturn(fm);40    }41    @After42    public void tearDown() {43        colorMockedStatic.close();44    }45    @Test(expected = IllegalArgumentException.class)46    public void constructorShouldThrowIfSizesMismatch() {47        new PieChart(plot, new double[]{1, 1}, new ColorWrap[]{ColorWrap.RED});48    }49    @Test50    public void paintShouldNotDrawAnythingIfValuesAreZero() {51        pieChart = new PieChart(plot, new double[]{0, 0}, new ColorWrap[]{52                ColorWrap.RED, ColorWrap.GREEN});53        pieChart.paint(graphics);54        verify(graphics, never()).fillArc(anyFloat(), anyFloat(), anyFloat(), anyFloat(),55                anyFloat(), anyFloat());56    }57    @Test58    public void paintShouldDrawFullRedCircleIfOneValue() {59        pieChart = new PieChart(plot, new double[]{1.}, new ColorWrap[]{60                ColorWrap.RED});61        RectangleWrap r = createRectangleMock(100, 100);62        when(graphics.getClipBounds()).thenReturn(r);63        pieChart.paint(graphics);64        verify(graphics).setColor(ColorWrap.RED);65        verify(graphics).fillArc(anyFloat(), anyFloat(), anyFloat(), anyFloat(),66                floatThat(closeTo(-90F)),67                floatThat(closeTo(360F)));68    }69    @Test70    public void paintShouldDrawTwoSectorsWithGivenColors() {71        pieChart = new PieChart(plot, new double[]{1, 1}, new ColorWrap[]{72                ColorWrap.RED, ColorWrap.GREEN});73        RectangleWrap r = createRectangleMock(100, 100);74        when(graphics.getClipBounds()).thenReturn(r);75        pieChart.paint(graphics);76        verify(graphics).setColor(ColorWrap.RED);77        verify(graphics).fillArc(anyFloat(), anyFloat(), anyFloat(), anyFloat(),78                floatThat(closeTo(-90F)),79                floatThat(closeTo(180F)));80        verify(graphics).setColor(ColorWrap.GREEN);81        verify(graphics).fillArc(anyFloat(), anyFloat(), anyFloat(), anyFloat(),82                floatThat(closeTo(90F)),83                floatThat(closeTo(180F)));84    }85    public static RectangleWrap createRectangleMock(int width, int height) {86        RectangleWrap r = mock(RectangleWrap.class);87        r.width = width;88        r.height = height;89        when(r.width()).thenReturn(width);90        when(r.height()).thenReturn(height);91        return r;92    }93    private static FloatMatcher closeTo(double v) {94        return FloatMatcher.closeTo(v, PRECISION);95    }96}...floatThat
Using AI Code Generation
1public class 1 {2    public static void main(String[] args) {3        List mockedList = mock(List.class);4        when(mockedList.get(anyInt())).thenReturn("element");5        System.out.println(mockedList.get(999));6    }7}8public class 2 {9    public static void main(String[] args) {10        List mockedList = mock(List.class);11        when(mockedList.get(anyInt())).thenReturn("element");12        System.out.println(mockedList.get(999));13    }14}15public class 3 {16    public static void main(String[] args) {17        List mockedList = mock(List.class);18        when(mockedList.get(anyInt())).thenReturn("element");19        System.out.println(mockedList.get(999));20    }21}22public class 4 {23    public static void main(String[] args) {24        List mockedList = mock(List.class);25        when(mockedList.get(anyInt())).thenReturn("element");26        System.out.println(mockedList.get(999));27    }28}29public class 5 {30    public static void main(String[] args) {31        List mockedList = mock(List.class);32        when(mockedList.get(anyInt())).thenReturn("element");33        System.out.println(mockedList.get(999));34    }35}36public class 6 {37    public static void main(String[] args) {38        List mockedList = mock(List.class);39        when(mockedList.get(anyInt())).thenReturn("element");40        System.out.println(mockedList.get(999));41    }42}43public class 7 {44    public static void main(String[] args) {45        List mockedList = mock(List.class);46        when(mockedList.get(anyInt())).thenReturn("element");47        System.out.println(mockedList.get(999));48    }49}floatThat
Using AI Code Generation
1import org.mockito.ArgumentMatchers;2import static org.mockito.Mockito.when;3import static org.mockito.Mockito.mock;4import static org.mockito.Mockito.verify;5import static org.mockito.Mockito.times;6import static org.mockito.Mockito.anyFloat;7import static org.mockito.Mockito.any;8import static org.mockito.Mockito.doThrow;9import static org.mockito.Mockito.doNothing;10import static org.mockito.Mockito.doCallRealMethod;11import static org.mockito.Mockito.spy;12import static org.mockito.Mockito.never;13import static org.mockito.Mockito.eq;14import static org.mockito.Mockito.inOrder;15import static org.mockito.Mockito.atLeastOnce;16import static org.mockito.Mockito.atLeast;17import static org.mockito.Mockito.timeout;18import static org.mockito.Mockito.verifyNoMoreInteractions;19import static org.mockito.Mockito.verifyZeroInteractions;20import static org.mockito.Mockito.only;21import sfloatThat
Using AI Code Generation
1package com.automationtesting;2import static org.mockito.ArgumentMatchers.floatThat;3import static org.mockito.Mockito.mock;4import static org.mockito.Mockito.when;5import java.util.List;6import org.junit.Test;7public class MockitoFloatThatMethod {8	public void testFloatThat() {9		List<String> list = mock(List.class);10		when(list.get(0)).thenReturn("Hello");11		when(list.get(1)).thenReturn("World");12		when(list.get(floatThat(num -> num > 1 && num < 5))).thenReturn("Hello World");13		System.out.println(list.get(0));14		System.out.println(list.get(1));15		System.out.println(list.get(2));16		System.out.println(list.get(3));17		System.out.println(list.get(4));18		System.out.println(list.get(5));19	}20}floatThat
Using AI Code Generation
1package org.codechamps.mockito;2import static org.mockito.ArgumentMatchers.floatThat;3import static org.mockito.Mockito.mock;4import static org.mockito.Mockito.when;5import java.util.List;6public class MockitoFloatThat {7	public static void main(String[] args) {8		List mockedList = mock(List.class);9		when(mockedList.get(floatThat(f -> f > 0.0f))).thenReturn(1);10		System.out.println(mockedList.get(1.0f));11	}12}floatThat
Using AI Code Generation
1import org.mockito.ArgumentMatchers;2import org.mockito.Mockito;3import org.mockito.stubbing.Answer;4import static org.mockito.Mockito.mock;5import static org.mockito.Mockito.when;6import static org.mockito.Mockito.anyFloat;7import static org.mockito.Mockito.anyString;8import static org.mockito.Mockito.any;9import static org.mockito.Mockito.anyInt;10import static org.mockito.Mockito.anyDouble;11import static org.mockito.Mockito.anyLong;12import static org.mockito.Mockito.anyShort;13import static org.mockito.Mockito.anyByte;14import static org.mockito.Mockito.anyChar;15import static org.mockito.Mockito.anyBoolean;16import static org.mockito.Mockito.anyVararg;17import static org.mockito.Mockito.anyCollection;18import static org.mockito.Mockito.anyList;19import static org.mockito.Mockito.anyMap;20import static org.mockito.Mockito.anySet;21import static org.mockito.Mockito.anyIterable;22import static org.mockito.Mockito.anyIterator;23import static org.mockito.Mockito.anyObject;24import static org.mockito.Mockito.anyClass;25import static org.mockito.Mockito.anyVararg;26import stfloatThat
Using AI Code Generation
1import org.mockito.ArgumentMatchers;2import org.mockito.Mockito;3public class floatThat {4    public static void main(String[] args) {5        float f = 1.0f;6        float f1 = 1.0f;7        float f2 = 1.0f;8        float f3 = 1.0f;9        float f4 = 1.0f;10        Mockito.mock(List.class).add(ArgumentMatchers.floatThat(f -> f == f1));11        Mockito.mock(List.class).add(ArgumentMatchers.floatThat(f -> f > f2));12        Mockito.mock(List.class).add(ArgumentMatchers.floatThat(f -> f < f3));13        Mockito.mock(List.class).add(ArgumentMatchers.floatThat(f -> f != f4));14    }15}floatThat
Using AI Code Generation
1import org.mockito.ArgumentMatchers;2import org.mockito.Mockito;3public class floatThat {4    public static void main(String[] args) {5        MyClass test = Mockito.mock(MyClass.class);6        Mockito.when(test.getfloatThat(ArgumentMatchers.floatThat(x -> x > 0))).thenReturn(1);7        System.out.println(test.getfloatThat(1.1f));8    }9}10class MyClass {11    public int getfloatThat(float f) {12        return 0;13    }14}15Recommended Posts: Java | floatIsZero() method in ArgumentMatchers class16Java | floatIsNotZero() method in ArgumentMatchers class17Java | floatIs() method in ArgumentMatchers class18Java | floatIsNot() method in ArgumentMatchers class19Java | floatIsIn() method in ArgumentMatchers class20Java | floatIsNotIn() method in ArgumentMatchers class21Java | floatIsCloseTo() method in ArgumentMatchers class22Java | floatIsNotCloseTo() method in ArgumentMatchers class23Java | floatIsNaN() method in ArgumentMatchers class24Java | floatIsNotNaN() method in ArgumentMatchers class25Java | floatIsPositive() method in ArgumentMatchers class26Java | floatIsNotPositive() method in ArgumentMatchers class27Java | floatIsNegative() method in ArgumentMatchers class28Java | floatIsNotNegative() method in ArgumentMatchers class29Java | floatIsZeroOrPositive() method in ArgumentMatchers class30Java | floatIsZeroOrNegative() method in ArgumentMatchers class31Java | floatIsNotZeroOrPositive() method in ArgumentMatchers class32Java | floatIsNotZeroOrNegative() method in ArgumentMatchers class33Java | floatIsGreaterThan() method in ArgumentMatchers class34Java | floatIsLessThan() method in ArgumentMatchers class35Java | floatIsGreaterThanOrEqualTo() method in ArgumentMatchers class36Java | floatIsLessThanOrEqualTo() method in ArgumentMatchers class37Java | floatIsBetween() method in ArgumentMatchers class38Java | floatIsNotBetween() method in ArgumentMatchers class39Java | floatIsStrictlyBetween() method in ArgumentMatchers class40Java | floatIsNotStrictlyBetween() method in ArgumentMatchers class41Java | floatIsEquivalentAccordingToCompareTo() method in ArgumentMatchersfloatThat
Using AI Code Generation
1import static org.mockito.ArgumentMatchers.*;2import static org.mockito.Mockito.*;3import org.mockito.Mockito;4public class 1 {5    public static void main(String[] args) {6        A obj = mock(A.class);7        when(obj.foo(floatThat(x -> x > 5.5))).thenReturn(10);8        System.out.println(obj.foo(6.6));9    }10}11class A {12    public int foo(float f) {13        return 0;14    }15}16Mockito | ArgumentCaptor.capture()17Mockito | ArgumentCaptor.capture() method18Mockito | ArgumentCaptor.getValue() method19Mockito | ArgumentCaptor.getAllValues() method20Mockito | ArgumentCaptor.forClass(Class) methodLearn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
