@SuppressWarnings("unchecked")
  @Test(expected = NonUniqueResultException.class)
  public void findUniqueThrowsExeptionWhenNonUniqueResult() {
    when(moreTypesDemoDao.findUnique(any(MoreTypesDemo.class), any(SearchParameters.class)))
        .thenThrow(NonUniqueResultException.class);

    moreTypesDemoRepository.findUnique(new MoreTypesDemo());
  }
  @Test
  public void findUniqueOrNoneReturnsNull() {
    when(moreTypesDemoDao.findUniqueOrNone(any(MoreTypesDemo.class), any(SearchParameters.class)))
        .thenReturn(null);

    MoreTypesDemo result = moreTypesDemoRepository.findUniqueOrNone(new MoreTypesDemo());

    assertThat(result).isNull();
    verify(moreTypesDemoDao, times(1))
        .findUniqueOrNone(any(MoreTypesDemo.class), any(SearchParameters.class));
  }
  @Test
  public void findUniqueOrNoneReturnsSingleValue() {
    MoreTypesDemo unique = new MoreTypesDemo();

    when(moreTypesDemoDao.findUniqueOrNone(any(MoreTypesDemo.class), any(SearchParameters.class)))
        .thenReturn(unique);

    MoreTypesDemo result = moreTypesDemoRepository.findUniqueOrNone(new MoreTypesDemo());

    assertThat(result).isNotNull().isSameAs(unique);
    verify(moreTypesDemoDao, times(1))
        .findUniqueOrNone(any(MoreTypesDemo.class), any(SearchParameters.class));
  }