private void checkSnapshotSide()

in java/runner/src/intTest/java/com/epam/deltix/data/connectors/validator/L2DataValidator.java [108:134]


    private void checkSnapshotSide(PackageHeaderInfo headerInfo, ArrayList<L2EntryNew> bookSide, QuoteSide side) {
        if (bookSide.size() > 0) {
            if (bookSide.get(0).getLevel() != 0) {
                sendMessageToLogger(headerInfo, TypeConstants.EXCHANGE_NULL, "Incorrect order of levels in snapshot.", Severity.ERROR);
            }
        }
        for (int i = 1; i < bookSide.size(); ++i) {
            if (side == QuoteSide.ASK) {
                if (Decimal64Utils.isLess(bookSide.get(i).getPrice(), bookSide.get(i - 1).getPrice())) {
                    sendMessageToLogger(headerInfo, TypeConstants.EXCHANGE_NULL, "Price at ask level is less than at previous", Severity.ERROR);
                }
            } else {
                if (Decimal64Utils.isGreater(bookSide.get(i).getPrice(), bookSide.get(i - 1).getPrice())) {
                    sendMessageToLogger(headerInfo, TypeConstants.EXCHANGE_NULL, "Price at bid level is greater than at previous", Severity.ERROR);
                }
            }
            if (checkEqualLevels && Decimal64Utils.isEqual(bookSide.get(i).getPrice(), bookSide.get(i - 1).getPrice())) {
                if (side == QuoteSide.BID)
                    sendMessageToLogger(headerInfo, TypeConstants.EXCHANGE_NULL, "Price at bid level is equals to previous", Severity.ERROR);
                else
                    sendMessageToLogger(headerInfo, TypeConstants.EXCHANGE_NULL, "Price at ask level is equals to previous", Severity.ERROR);
            }
            if (bookSide.get(i).getLevel() != bookSide.get(i - 1).getLevel() + 1) {
                sendMessageToLogger(headerInfo, TypeConstants.EXCHANGE_NULL, "Incorrect order of levels in snapshot.", Severity.ERROR);
            }
        }
    }