# Interface CompileTester

All Known Implementing Classes:
  `JavaSourcesSubject, JavaSourcesSubject.SingleSourceAdapter`

public interface CompileTester
The root of the fluent API for testing the result of compilation.

This interface exists only to facilitate a fluent API and is subject to change. Implementing this interface is not recommended.

Author:
  Gregory Kick

## Nested Class Summary

Nested Classes
Modifier and Type
Interface
Description
`static interface`
`CompileTester.ChainingClause<T>`
The clause in the fluent API that allows for chaining test conditions.
`static interface`
`CompileTester.CleanCompilationClause`
The clause in the fluent API for further tests on successful compilations without warnings.
`static interface`
`CompileTester.ColumnClause<T>`
The clause in the fluent API that checks that a diagnostic starts at a particular column.
`static interface`
`CompileTester.CompilationWithNotesClause<T>`
The clause in the fluent API that checks notes in a compilation.
`static interface`
`CompileTester.CompilationWithWarningsClause<T>`
The clause in the fluent API that checks notes and warnings in a compilation.
`static interface`
`CompileTester.FileClause<T>`
The clause in the fluent API that checks that a diagnostic is associated with a particular `JavaFileObject`.
`static interface`
`CompileTester.GeneratedPredicateClause<T>`
The clause in the fluent API that checks that files were generated.
`static interface`
`CompileTester.LineClause<T>`
The clause in the fluent API that checks that a diagnostic is on a particular line.
`static interface`
`CompileTester.SuccessfulCompilationClause`
The clause in the fluent API for further tests on successful compilations.
`static interface`
`CompileTester.SuccessfulFileClause<T>`
The clause in the fluent API that checks that a generated file has the specified contents.
`static interface`
`CompileTester.UnsuccessfulCompilationClause`
The clause in the fluent API for further tests on unsuccessful compilations.

## Method Summary

Modifier and Type
Method
Description
`CompileTester.SuccessfulCompilationClause`
`compilesWithoutError()`
The clause in the fluent API that tests for successful compilation without errors.
`CompileTester.CleanCompilationClause`
`compilesWithoutWarnings()`
The clause in the fluent API that tests for successful compilation without warnings or errors.
`CompileTester.UnsuccessfulCompilationClause`
`failsToCompile()`
The clause in the fluent API that tests for unsuccessful compilation.
`void`
`parsesAs(JavaFileObject first, JavaFileObject... rest)`
The clause in the fluent API that tests that the code parses equivalently to the specified code.

## Method Details

### parsesAs

void parsesAs(JavaFileObject first, JavaFileObject... rest)
The clause in the fluent API that tests that the code parses equivalently to the specified code.

### compilesWithoutError

@CanIgnoreReturnValue CompileTester.SuccessfulCompilationClause compilesWithoutError()
The clause in the fluent API that tests for successful compilation without errors.

### compilesWithoutWarnings

@CanIgnoreReturnValue CompileTester.CleanCompilationClause compilesWithoutWarnings()
The clause in the fluent API that tests for successful compilation without warnings or errors.

### failsToCompile

@CanIgnoreReturnValue CompileTester.UnsuccessfulCompilationClause failsToCompile()
The clause in the fluent API that tests for unsuccessful compilation.