blob: d9f03bebb88051645641c2931a0eeabac21bfeb9 [file] [log] [blame]
// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.8
import 'package:flutter/src/foundation/collections.dart';
import 'package:flutter_test/flutter_test.dart';
void main() {
test('listEquals', () {
final List<int> listA = <int>[1, 2, 3];
final List<int> listB = <int>[1, 2, 3];
final List<int> listC = <int>[1, 2];
final List<int> listD = <int>[3, 2, 1];
expect(listEquals<void>(null, null), isTrue);
expect(listEquals(listA, null), isFalse);
expect(listEquals(null, listB), isFalse);
expect(listEquals(listA, listA), isTrue);
expect(listEquals(listA, listB), isTrue);
expect(listEquals(listA, listC), isFalse);
expect(listEquals(listA, listD), isFalse);
});
test('setEquals', () {
final Set<int> setA = <int>{1, 2, 3};
final Set<int> setB = <int>{1, 2, 3};
final Set<int> setC = <int>{1, 2};
final Set<int> setD = <int>{3, 2, 1};
expect(setEquals<void>(null, null), isTrue);
expect(setEquals(setA, null), isFalse);
expect(setEquals(null, setB), isFalse);
expect(setEquals(setA, setA), isTrue);
expect(setEquals(setA, setB), isTrue);
expect(setEquals(setA, setC), isFalse);
expect(setEquals(setA, setD), isTrue);
});
test('mapEquals', () {
final Map<int, int> mapA = <int, int>{1:1, 2:2, 3:3};
final Map<int, int> mapB = <int, int>{1:1, 2:2, 3:3};
final Map<int, int> mapC = <int, int>{1:1, 2:2};
final Map<int, int> mapD = <int, int>{3:3, 2:2, 1:1};
final Map<int, int> mapE = <int, int>{3:1, 2:2, 1:3};
expect(mapEquals<void, void>(null, null), isTrue);
expect(mapEquals(mapA, null), isFalse);
expect(mapEquals(null, mapB), isFalse);
expect(mapEquals(mapA, mapA), isTrue);
expect(mapEquals(mapA, mapB), isTrue);
expect(mapEquals(mapA, mapC), isFalse);
expect(mapEquals(mapA, mapD), isTrue);
expect(mapEquals(mapA, mapE), isFalse);
});
test('binarySearch', () {
final List<int> items = <int>[1, 2, 3];
expect(binarySearch(items, 1), 0);
expect(binarySearch(items, 2), 1);
expect(binarySearch(items, 3), 2);
expect(binarySearch(items, 12), -1);
});
}