ProductionBehaviorTest.java :  » Game » pageley-games » org » pageley » games » fleetcommand » domain » building » Java Open Source

Java Open Source » Game » pageley games 
pageley games » org » pageley » games » fleetcommand » domain » building » ProductionBehaviorTest.java
package org.pageley.games.fleetcommand.domain.building;

import org.pageley.games.fleetcommand.domain.Resource;

import junit.framework.TestCase;

public class ProductionBehaviorTest extends TestCase {
  public void testExecute() {
    Behavior behavior = new ProductionBehavior(Resource.FOOD, 10);
    final boolean[] produced = new boolean[] {false};
    behavior.addListener(new BehaviorListener() {

      @Override
      public void produced(Resource resource, int amount) {
        assertEquals(Resource.FOOD, resource);
        assertEquals(10, amount);
        produced[0] = true;
      }

      @Override
      public void consumed(Resource resource, int amount) {
      }

    });

    behavior.execute(3600);
    assertTrue(produced[0]);
  }

  public void testCumulativeExecute() {
    Behavior behavior = new ProductionBehavior(Resource.FOOD, 10);
    final int[] produced = new int[] {0};
    behavior.addListener(new BehaviorListener() {

      @Override
      public void produced(Resource resource, int amount) {
        assertEquals(Resource.FOOD, resource);
        if(produced[0] == 0) {
        assertEquals(9, amount);
        } else {
          assertEquals(1, amount);
        }
        produced[0]++;
      }

      @Override
      public void consumed(Resource resource, int amount) {
      }

    });

    behavior.execute(3599);
    assertEquals(1, produced[0]);

    behavior.execute(2);
    assertEquals(2, produced[0]);
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.