// Copyright (c) 2016, 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.

import 'package:test/test.dart';

import 'package:boolean_selector/boolean_selector.dart';

var _selector = new BooleanSelector.parse("foo && bar && baz");

void main() {
  test("throws if any variables are undefined", () {
    expect(() => _selector.validate((variable) => variable == "bar"),
        throwsFormatException);
  });

  test("doesn't throw if all variables are defined", () {
    // Should not throw.
    _selector.validate((variable) => true);
  });
}
