/**
   * Cmd_ lu diff.
   *
   * @throws InvalidElementException the invalid element exception
   */
  @Test
  public void cmd_LUDiff() throws InvalidElementException {
    // Setup Differential Calculation.
    final LogicalUnit lu = this.stage.getLogicalUnit("aCard1");
    lu.getContents().addElement(new Artifact(TH.w1File));
    lu.commit("Scott", "Differential Commit.");
    TH.writeFile(TH.w1File, "Line 1 Content.\nLine 2 Content.\n\nLine 4 Content.");
    this.cmd = new LUCmdDiff(this.stage, "aCard1", "c1File.txt");
    Assert.assertTrue("Should Succeed.", this.cmd.execute());
    this.cmd = new LUCmdDiff(this.stage);
    Assert.assertFalse("Should Not Succeed.", this.cmd.execute());
    // Check Acceptable
    Assert.assertTrue(
        "Doesn't Accept 'ludiff aCard -e c1File.txt'.",
        this.cmd.accepts("ludiff aCard -e c1File.txt"));
    Assert.assertTrue(
        "Doesn't Accept 'ludiff -e c1File.txt'.", this.cmd.accepts("ludiff -e c1File.txt"));
    Assert.assertTrue("Doesn't Accept 'ludiff -e a b c'.", this.cmd.accepts("ludiff -e a b c"));
    Assert.assertTrue(
        "Doesn't Accept 'ludiff x y z -e a b c'.", this.cmd.accepts("ludiff x y z -e a b c"));
    Assert.assertTrue(
        "Doesn't Accept 'ludiff x y z -e a/b/c/'.", this.cmd.accepts("ludiff x y z -e a/b/c/"));
    // Check Reject
    Assert.assertFalse(
        "Accepts 'ludiff -er c1File.txt'.", this.cmd.accepts("ludiff -er c1File.txt"));
    Assert.assertTrue(
        "Should Contain Usage.", this.cmd.getProcessingFailure().contains(this.cmd.getUsage()));
    // assertFalse("Accepts 'ludiff abc -e   /'.",
    // cmd.accepts("ludiff abc -e    /"));
    Assert.assertFalse("Accepts 'ludiff -e   '.", this.cmd.accepts("ludiff -e    "));

    // Check Exit and Usage
    Assert.assertFalse("Exits.", this.cmd.exits());
    Assert.assertTrue("Usage.", this.cmd.getUsage().startsWith("luDiff {<luName>} -e <eName>"));
  }