/*
 * Copyright (c) 2011, the Dart project authors.  Please see the AUTHORS file
 * for details. All rights reserved. Use of this source code is governed by a
 * BSD-style license that can be found in the LICENSE file.
 */
/**
 * @assertion Dart source text is represented as a sequence of Unicode code
 * points.
 * @description Checks that the Russian small letters are represented as a
 * sequence of Unicode code points.
 * @author vasya
 */
import "../../../Utils/expect.dart";

main() {
  List unicode = ["\u0430", "\u0431", "\u0432", "\u0433", "\u0434", "\u0435",
                  "\u0436", "\u0437", "\u0438", "\u0439", "\u043A", "\u043B",
                  "\u043C", "\u043D", "\u043E", "\u043F", "\u0440", "\u0441",
                  "\u0442", "\u0443", "\u0444", "\u0445", "\u0446", "\u0447",
                  "\u0448", "\u0449", "\u044A", "\u044B", "\u044C", "\u044D",
                  "\u044E", "\u044F", "\u0451"];

  List character = ["а", "б", "в", "г", "д", "е", "ж", "з", "и", "й", "к",
                    "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х",
                    "ц", "ч", "ш", "щ", "ъ", "ы", "ь", "э", "ю", "я", "ё"];

  Expect.listEquals(unicode, character);
}
