Package weka.datagenerators

# Class Test

java.lang.Object
weka.datagenerators.Test

All Implemented Interfaces:
  `Serializable`, `RevisionHandler`

public class Test extends Object implements Serializable, RevisionHandler
Class to represent a test.
The string representation of the test can be supplied in standard notation or for a subset of types of attributes in Prolog notation.
Following examples for all possible tests that can be represented by this class, given in standard notation.
Examples of tests for numeric attributes:
B >= 2.333
B < 4.56
Examples of tests for nominal attributes with more then 2 values:
A = rain
A != rain
Examples of tests for nominal attribute with exactly 2 values:
A = false
A = true
The Prolog notation is only supplied for numeric attributes and for nominal attributes that have the values "true" and "false".
Following examples for the Prolog notation provided.
Examples of tests for numeric attributes:
The same as for standard notation above.
Examples of tests for nominal attributes with values "true"and "false":
A
not(A)
(Other nominal attributes are not supported by the Prolog notation.)

Version:
  $Revision: 10203 $
Author:
  Gabi Schmidberger (gabi@cs.waikato.ac.nz)
See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Test(int i, double s, Instances dataset)`
  Constructor
  `Test(int i, double s, Instances dataset, boolean n)`
  Constructor

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `equalTo(Test t)`
  Compares the test with the test that is given as parameter.
  `Test`
  `getNot()`
  Negates the test.
  `String`
  `getRevision()`
  Returns the revision string.
  `boolean`
  `passesTest(Instance inst)`
  Determines whether an instance passes the test.
  `String`
  `toPrologString()`
  Returns the test represented by a string in Prolog notation.
  `String`
  `toString()`
  Returns the test represented by a string.

  ### Methods inherited from class java.lang.Object

  `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### Test

    public Test(int i, double s, Instances dataset)
    Constructor
    Parameters:
      `i` - the attribute index
      `s` - the split
      `dataset` - the dataset

  - ### Test

    public Test(int i, double s, Instances dataset, boolean n)
    Constructor
    Parameters:
      `i` - the attribute index
      `s` - the split
      `dataset` - the dataset
      `n` - whether to negate the test

- ## Method Details

  - ### getNot

    public Test getNot()
    Negates the test.
    Returns:
      the test itself negated

  - ### passesTest

    public boolean passesTest(Instance inst) throws Exception
    Determines whether an instance passes the test.
    Parameters:
      `inst` - the instance
    Returns:
      true if the instance satisfies the test, false otherwise
    Throws:
      `Exception` - if something goes wrong

  - ### toString

    public String toString()
    Returns the test represented by a string.
    Overrides:
      `toString` in class `Object`
    Returns:
      a string representing the test

  - ### toPrologString

    public String toPrologString()
    Returns the test represented by a string in Prolog notation.
    Returns:
      a string representing the test in Prolog notation

  - ### equalTo

    public boolean equalTo(Test t)
    Compares the test with the test that is given as parameter.
    Parameters:
      `t` - the test the object is compared to
    Returns:
      true if the two Tests are equal

  - ### getRevision

    public String getRevision()
    Returns the revision string.
    Specified by:
      `getRevision` in interface `RevisionHandler`
    Returns:
      the revision