ModelAndViewAssert (Spring Framework 3.2.1.RELEASE API)
Date: 2013-01-24

org.springframework.test.web

## Class ModelAndViewAssert

- java.lang.Object
- - org.springframework.test.web.ModelAndViewAssert

-     public abstract class ModelAndViewAssert
      extends Object

  A collection of assertions intended to simplify testing scenarios dealing with Spring Web MVC `ModelAndView` objects.

  Intended for use with JUnit 4 and TestNG. All `assert*()` methods throw `AssertionError`s.

  Since:
    2.5
  Author:
    Sam Brannen, Alef Arendsen, Bram Smeets
  See Also:
    `ModelAndView`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ModelAndViewAssert()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static <T> T` | `assertAndReturnModelAttributeOfType(ModelAndView mav, String modelName, Class<T> expectedType)` Checks whether the model value under the given `modelName` exists and checks it type, based on the `expectedType`.
    `static void` | `assertCompareListModelAttribute(ModelAndView mav, String modelName, List expectedList)` Compare each individual entry in a list, without first sorting the lists.
    `static void` | `assertModelAttributeAvailable(ModelAndView mav, String modelName)` Assert whether or not a model attribute is available.
    `static void` | `assertModelAttributeValue(ModelAndView mav, String modelName, Object expectedValue)` Compare a given `expectedValue` to the value from the model bound under the given `modelName`.
    `static void` | `assertModelAttributeValues(ModelAndView mav, Map<String,Object> expectedModel)` Inspect the `expectedModel` to see if all elements in the model appear and are equal.
    `static void` | `assertSortAndCompareListModelAttribute(ModelAndView mav, String modelName, List expectedList, Comparator comparator)` Compare each individual entry in a list after having sorted both lists (optionally using a comparator).
    `static void` | `assertViewName(ModelAndView mav, String expectedName)` Check to see if the view name in the ModelAndView matches the given `expectedName`.

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ModelAndViewAssert

          public ModelAndViewAssert()

  - ### Method Detail

    - #### assertAndReturnModelAttributeOfType

          public static <T> T assertAndReturnModelAttributeOfType(ModelAndView mav,
                                                  String modelName,
                                                  Class<T> expectedType)

      Checks whether the model value under the given `modelName` exists and checks it type, based on the `expectedType`. If the model entry exists and the type matches, the model value is returned.
      Parameters:
        `mav` - ModelAndView to test against (never `null`)
        `modelName` - name of the object to add to the model (never `null`)
        `expectedType` - expected type of the model value
      Returns:
        the model value

    - #### assertCompareListModelAttribute

          public static void assertCompareListModelAttribute(ModelAndView mav,
                                             String modelName,
                                             List expectedList)

      Compare each individual entry in a list, without first sorting the lists.
      Parameters:
        `mav` - ModelAndView to test against (never `null`)
        `modelName` - name of the object to add to the model (never `null`)
        `expectedList` - the expected list

    - #### assertModelAttributeAvailable

          public static void assertModelAttributeAvailable(ModelAndView mav,
                                           String modelName)

      Assert whether or not a model attribute is available.
      Parameters:
        `mav` - ModelAndView to test against (never `null`)
        `modelName` - name of the object to add to the model (never `null`)

    - #### assertModelAttributeValue

          public static void assertModelAttributeValue(ModelAndView mav,
                                       String modelName,
                                       Object expectedValue)

      Compare a given `expectedValue` to the value from the model bound under the given `modelName`.
      Parameters:
        `mav` - ModelAndView to test against (never `null`)
        `modelName` - name of the object to add to the model (never `null`)
        `expectedValue` - the model value

    - #### assertModelAttributeValues

          public static void assertModelAttributeValues(ModelAndView mav,
                                        Map<String,Object> expectedModel)

      Inspect the `expectedModel` to see if all elements in the model appear and are equal.
      Parameters:
        `mav` - ModelAndView to test against (never `null`)
        `expectedModel` - the expected model

    - #### assertSortAndCompareListModelAttribute

          public static void assertSortAndCompareListModelAttribute(ModelAndView mav,
                                                    String modelName,
                                                    List expectedList,
                                                    Comparator comparator)

      Compare each individual entry in a list after having sorted both lists (optionally using a comparator).
      Parameters:
        `mav` - ModelAndView to test against (never `null`)
        `modelName` - name of the object to add to the model (never `null`)
        `expectedList` - the expected list
        `comparator` - the comparator to use (may be `null`). If not specifying the comparator, both lists will be sorted not using any comparator.

    - #### assertViewName

          public static void assertViewName(ModelAndView mav,
                            String expectedName)

      Check to see if the view name in the ModelAndView matches the given `expectedName`.
      Parameters:
        `mav` - ModelAndView to test against (never `null`)
        `expectedName` - the name of the model value