All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.assertj.db.api.navigation.ToRowFromChange Maven / Gradle / Ivy

There is a newer version: 2.0.2
Show newest version
/**
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
 * the License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
 * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations under the License.
 *
 * Copyright 2012-2015 the original author or authors.
 */
package org.assertj.db.api.navigation;

/**
 * Defines methods to navigate to a {@link org.assertj.db.type.Row} from a {@link org.assertj.db.type.Change}.
 * 

The different methods return an assertion on one row {@link org.assertj.db.api.navigation.RowAssert}.

*

These methods exists when navigating (at the beginning {@code assertThat()}) from changes.

*

As shown in the diagram below, it is possible to call the method to navigate to a {@link org.assertj.db.api.navigation.RowAssert} from :

*
    *
  • a change ({@link org.assertj.db.api.ChangeAssert})
  • *
  • a column of a change ({@link org.assertj.db.api.ChangeColumnAssert})
  • *
  • a value of a column of a change ({@link org.assertj.db.api.ChangeColumnValueAssert})
  • *
  • a row of a change ({@link org.assertj.db.api.ChangeRowAssert})
  • *
  • a value of a row of a change ({@link org.assertj.db.api.ChangeRowValueAssert})
  • *
*

* diagram with navigation to row *

*

It is important to keep in mind that the methods are executed from the point of view of the last instance with assertion methods on a change ({@link org.assertj.db.api.ChangeAssert}).
* So all the lines of code below are equivalent : they point on the row at end point. *

*
 * 
 * assertThat(changes).change().rowAtEndPoint()......;                                                    // Point directly on the row at end point
 * // Use the returnToOrigin() method of AbstractAssertWithOrigin to return on the change and access to the row at end point
 * assertThat(changes).change().rowAtStartPoint().returnToOrigin().rowAtEndPoint()......;
 * assertThat(changes).change().rowAtStartPoint().rowAtEndPoint()......;                                  // Same as precedent but returnToOrigin() is implicit
 * assertThat(changes).change().column().rowAtEndPoint()......;                                           // The method can be call from a column
 * assertThat(changes).change().column().value().rowAtEndPoint()......;
 * assertThat(changes).change().column(1).value().rowAtEndPoint()......;
 * // Equivalent to the precedent but with the use of the returnToOrigin() method of AbstractAssertWithOrigin
 * assertThat(changes).change().column(1).value().returnToOrigin().returnToOrigin().rowAtEndPoint()......;
 * 
 * 
* * @author Régis Pouiller * * @param The class of a assertion on a row (an sub-class of {@link org.assertj.db.api.navigation.RowAssert}). */ public interface ToRowFromChange { /** * Returns assertion methods on the {@link org.assertj.db.type.Row} at start point. * * @return An object to make assertions on the {@link org.assertj.db.type.Row} at start point. * @see org.assertj.db.api.ChangeAssert#rowAtStartPoint() * @see org.assertj.db.api.ChangeColumnAssert#rowAtStartPoint() * @see org.assertj.db.api.ChangeColumnValueAssert#rowAtStartPoint() * @see org.assertj.db.api.ChangeRowAssert#rowAtStartPoint() * @see org.assertj.db.api.ChangeRowValueAssert#rowAtStartPoint() */ public R rowAtStartPoint(); /** * Returns assertion methods on the {@link org.assertj.db.type.Row} at end point. * * @return An object to make assertions on the {@link org.assertj.db.type.Row} at end point. * @see org.assertj.db.api.ChangeAssert#rowAtEndPoint() * @see org.assertj.db.api.ChangeColumnAssert#rowAtEndPoint() * @see org.assertj.db.api.ChangeColumnValueAssert#rowAtEndPoint() * @see org.assertj.db.api.ChangeRowAssert#rowAtEndPoint() * @see org.assertj.db.api.ChangeRowValueAssert#rowAtEndPoint() */ public R rowAtEndPoint(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy