# Compare

**Compare assertion** служит для сравнения 2 значений. В данном виде **Assertion**-а есть понятие компаратора - операции, с помощью которой сравниваются значения. Есть следующие виды компараторов:

* **equal** - проверка на равенство значений
* **not equal** - проверка на неравенство значений
* **greater** - проверка на то, что текущее значение больше ожидаемого
* **greater or equal** - проверка на то, что текущее значение больше ожидаемого или  равно ему
* **less** - проверка на то, что текущее значение меньше ожидаемого
* **less or equal** - проверка на то, что текущее значение меньше ожидаемого или равно ему

Интерфейс **Compare assertion**-а выглядит следующим образом:

![Интерфейс Compare assertion-а](https://1448546621-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lh_FaVh9XfQJ0p1KqZ1%2F-LiMoTO-UrojOGzKuxKG%2F-LiMohRm-BVZ3WRYmQ5b%2Fc_1.png?alt=media\&token=604e96de-005e-45da-9634-f06d9d4b7920)

На данном скрине имеются следующие поля:

* **Actual value** - текущее значение
* **Operator** - компаратор из списка выше
* **Expected value** - ожидаемое значение

### Исправление ошибок

Алгоритм исправления ошибок зависит от каждого конкретного компаратора.

* **equal** - ожидаемому значению присваивается текущее значение
* **not equal** - компаратор меняется на **equal**
* **greater** - компаратор меняется на **greater or equal** и ожидаемому значению присваивается текущее значение
* **greater or equal** - ожидаемому значению присваивается текущее значение
* **less** - компаратор меняется на **less or equal** и ожидаемому значению присваивается текущее значение
* **less or equal** - ожидаемому значению присваивается текущее значение

### Файловое представление

В файле **Assertion** имеет тип `compare` , описание самого типа можно найти в документации к [файловому представлению Assertion](https://docs-ru.testmace.com/0.0.1-beta.14/node-types/assertion/..#failovoe-predstavlenie) в определении `#/definitions/CompareAssertion` .
