Package com.starlight.validity2

Source Code of com.starlight.validity2.ValidityCheckerTest

package com.starlight.validity2;

import com.starlight.locale.UnlocalizableTextResourceKey;
import junit.framework.TestCase;

import java.util.function.Consumer;

import static org.easymock.EasyMock.*;


/**
*
*/
public class ValidityCheckerTest extends TestCase {
  public void testSingleCheckPass() {
    ValidityCheck mock_check = createMock( ValidityCheck.class );
    expect( mock_check.check( anyObject( Consumer.class ) ) )
      .andReturn( Boolean.TRUE );

    CheckHandler mock_handler = createMock( CheckHandler.class );
    mock_handler.checkPass();

    replay( mock_check, mock_handler );


    ValidityChecker checker = new ValidityChecker();
    checker.addCheck( mock_check );
    checker.addHandler( mock_handler );

    assertTrue( checker.check() );

    verify( mock_check, mock_handler );
  }

  public void testSingleCheckFailNoMessage() {
    ValidityCheck mock_check = createMock( ValidityCheck.class );
    expect( mock_check.check( anyObject( Consumer.class ) ) )
      .andReturn( Boolean.FALSE );

    CheckHandler mock_handler = createMock( CheckHandler.class );
    mock_handler.checkFail( new FailureInfo( mock_check, null ) );

    replay( mock_check, mock_handler );


    ValidityChecker checker = new ValidityChecker();
    checker.addCheck( mock_check );
    checker.addHandler( mock_handler );

    assertFalse( checker.check() );

    verify( mock_check, mock_handler );
  }

  public void testSingleCheckFailWithMessage() {
    ValidityCheck check = fail_message_consumer -> {

      fail_message_consumer.accept(
        new UnlocalizableTextResourceKey( "This is a test failure" ) );

      return false;
    };

    CheckHandler mock_handler = createMock( CheckHandler.class );
    mock_handler.checkFail( new FailureInfo( check,
      new UnlocalizableTextResourceKey( "This is a test failure" ) ) );

    replay( mock_handler );


    ValidityChecker checker = new ValidityChecker();
    checker.addCheck( check );
    checker.addHandler( mock_handler );

    assertFalse( checker.check() );

    verify( mock_handler );
  }

  // TODO: figure out what's wrong with this test
//  public void testMultipleCheckFail() {
//    ValidityCheck check_fail_with_message = new ValidityCheck() {
//      @Override
//      public boolean check(
//        @NotNull Consumer<ResourceKey<String>> fail_message_consumer ) {
//
//        fail_message_consumer.consume(
//          new UnlocalizableTextResourceKey( "This is a test failure" ) );
//
//        return false;
//      }
//
//      @Override
//      public String toString() {
//        return "fail_with_message";
//      }
//    };
//
//    ValidityCheck mock_check_fail_no_message =
//      createMock( "fail_no_message", ValidityCheck.class );
//    expect( mock_check_fail_no_message.check( anyObject( Consumer.class ) ) )
//      .andReturn( Boolean.FALSE );
//
//    ValidityCheck mock_check_pass = createMock( "pass", ValidityCheck.class );
//    expect( mock_check_pass.check( anyObject( Consumer.class ) ) )
//      .andReturn( Boolean.TRUE );
//
//
//    CheckHandler mock_handler = createMock( CheckHandler.class );
//    FailureInfo failure = new FailureInfo( check_fail_with_message,
//      new UnlocalizableTextResourceKey( "This is a test failure" ) );
//    failure.add( mock_check_fail_no_message, null );
//    mock_handler.checkFail( failure );
//
//    replay( mock_handler, mock_check_fail_no_message, mock_check_pass );
//
//
//    ValidityChecker checker = new ValidityChecker();
//    checker.addCheck( check_fail_with_message );
//    checker.addCheck( mock_check_fail_no_message );
//    checker.addCheck( mock_check_pass );
//    checker.addHandler( mock_handler );
//
//    assertFalse( checker.check() );
//
//    verify( mock_handler, mock_check_fail_no_message, mock_check_pass );
//  }
}
TOP

Related Classes of com.starlight.validity2.ValidityCheckerTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.