コード例 #1
0
  /** Tests for adding from the producer adder method */
  @Test
  public final void testAddFromProducerAdder() {
    final ProducerRegister producerRegister = new ProducerRegister() {};
    assertTrue(producerRegister.getProducers().isEmpty());

    MockStendlRPWorld.get();

    final StendhalRPZone zone = new StendhalRPZone("admin_test");

    // call NPC code which will make ProducerAdder add to register
    new GoldsmithNPC().configureZone(zone, null);

    assertFalse(producerRegister.getProducers().isEmpty());
  }
コード例 #2
0
  /** Tests listing the food items */
  @Test
  public final void testGetProducedItems() {
    final ProducerRegister producerRegister = new ProducerRegister() {};

    MockStendlRPWorld.get();

    final StendhalRPZone zone = new StendhalRPZone("admin_test");

    // call NPC code which will make ProducerAdder add to register
    new BakerNPC().configureZone(zone, null);
    new BlacksheepBobNPC().configureZone(zone, null);

    assertFalse(producerRegister.getProducers().isEmpty());

    assertEquals(producerRegister.getProducedItemNames("food"), Arrays.asList("pie", "sausage"));
    assertEquals(producerRegister.getProducedItemNames("food").toString(), "[pie, sausage]");
  }
コード例 #3
0
  /** Tests for add. */
  @Test
  public final void testAdd() {

    final ProducerRegister producerRegister = new ProducerRegister() {};
    // check first that it is empty
    assertTrue(producerRegister.getProducers().isEmpty());

    final Map<String, Integer> requiredResources = new TreeMap<String, Integer>();
    requiredResources.put("flour", 1);
    requiredResources.put("cod", 2);
    requiredResources.put("mackerel", 1);
    requiredResources.put("leek", 1);
    final ProducerBehaviour behaviour =
        new ProducerBehaviour("linzo_make_fish_pie", "make", "fish pie", requiredResources, 5 * 60);

    producerRegister.add("Linzo", behaviour);

    assertFalse(producerRegister.getProducers().isEmpty());
    assertTrue(producerRegister.getProducers().size() == 1);
  }
コード例 #4
0
  /** Tests listing the working producers */
  @Test
  public final void testListWorkingProducers() {
    final ProducerRegister producerRegister = new ProducerRegister() {};
    Player player = PlayerTestHelper.createPlayer("player");

    MockStendlRPWorld.get();

    final StendhalRPZone zone = new StendhalRPZone("admin_test");

    // call NPC code which will make ProducerAdder add to register
    new BakerNPC().configureZone(zone, null);
    new BlacksheepBobNPC().configureZone(zone, null);

    assertFalse(producerRegister.getProducers().isEmpty());

    // no orders yet because the player didn't start any
    assertEquals(
        producerRegister.listWorkingProducers(player),
        "You have no ongoing or uncollected orders.");

    player.setQuest("arlindo_make_pie", "1;pie;1");
    player.setQuest("blacksheepbob_make_sausage", "210;sausage;" + System.currentTimeMillis());

    assertEquals(
        producerRegister.listWorkingProducers(player),
        "\r\nOrders: "
            + "\nArlindo has finished making your pie."
            + "\nBlacksheep Bob is making 210 sausages and will be ready in 7 hours.");

    // collect orders
    player.setQuest("arlindo_make_pie", "done");
    player.setQuest("blacksheepbob_make_sausage", "done");

    // no orders now because they are all collected
    assertEquals(
        producerRegister.listWorkingProducers(player),
        "You have no ongoing or uncollected orders.");
  }