@@ -0,0 +1,2461 @@
+package com.codeborne.selenide.collections;%0A%0Aimport com.codeborne.selenide.ex.ListSizeMismatch;%0Aimport com.codeborne.selenide.impl.WebElementsCollection;%0Aimport org.junit.Test;%0Aimport org.mockito.Mockito;%0Aimport org.openqa.selenium.WebElement;%0A%0Aimport java.lang.reflect.Field;%0Aimport java.util.Arrays;%0Aimport java.util.Collections;%0A%0Aimport static org.junit.Assert.*;%0Aimport static org.mockito.Mockito.when;%0A%0Apublic class SizeLessThanOrEqualTest %7B%0A%0A%0A  @Test%0A  public void testConstructor() throws NoSuchFieldException, IllegalAccessException %7B%0A    int expectedSize = 10;%0A    SizeLessThanOrEqual listSize = new SizeLessThanOrEqual(expectedSize);%0A    Field expectedSizeField = listSize.getClass().getDeclaredField(%22expectedSize%22);%0A    assertEquals(%22List expected size%22, expectedSize, expectedSizeField.get(listSize));%0A  %7D%0A%0A  @Test%0A  public void testApplyWithWrongSizeList() %7B%0A    int expectedSize = 1;%0A    SizeLessThanOrEqual listSize = new SizeLessThanOrEqual(expectedSize);%0A    WebElement mockedWebElement = Mockito.mock(WebElement.class);%0A    assertFalse(listSize.apply(Arrays.asList(mockedWebElement, mockedWebElement)));%0A  %7D%0A%0A  @Test%0A  public void testApplyWithSameSize() %7B%0A    int expectedSize = 1;%0A    SizeLessThanOrEqual listSize = new SizeLessThanOrEqual(expectedSize);%0A    WebElement mockedWebElement = Mockito.mock(WebElement.class);%0A    assertTrue(listSize.apply(Collections.singletonList(mockedWebElement)));%0A  %7D%0A%0A  @Test%0A  public void testApplyWithLessSize() %7B%0A    int expectedSize = 2;%0A    SizeLessThanOrEqual listSize = new SizeLessThanOrEqual(expectedSize);%0A    assertTrue(listSize.apply(Collections.singletonList(Mockito.mock(WebElement.class))));%0A  %7D%0A%0A  @Test%0A  public void testFailMethod() %7B%0A    SizeLessThanOrEqual listSize = new SizeLessThanOrEqual(10);%0A    WebElementsCollection mockedWebElementCollection = Mockito.mock(WebElementsCollection.class);%0A    when(mockedWebElementCollection.description()).thenReturn(%22Collection description%22);%0A%0A    try %7B%0A      listSize.fail(mockedWebElementCollection,%0A          Collections.emptyList(),%0A          new Exception(%22Exception message%22),%0A          10000);%0A    %7D catch (ListSizeMismatch ex) %7B%0A      assertEquals(%22: expected: %3C= 10, actual: 0, collection: Collection description%5Cn%22 +%0A          %22Elements: %5B%5D%22, ex.getMessage());%0A    %7D%0A  %7D%0A%0A  @Test%0A  public void testToString() %7B%0A    SizeLessThanOrEqual listSize = new SizeLessThanOrEqual(10);%0A    assertEquals(%22size %3C= 10%22, listSize.toString());%0A  %7D%0A%7D%0A

add SizeLessOrEqual unit tests