From df2eb202cc8756423ec71fafbe707b811e6778d5 Mon Sep 17 00:00:00 2001 From: Chinmay Garde Date: Fri, 26 Jun 2015 12:21:06 -0700 Subject: [PATCH] Minor: A slightly more contrived test case to verify contraint priorities --- packages/cassowary/test/cassowary_test.dart | 26 +++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/packages/cassowary/test/cassowary_test.dart b/packages/cassowary/test/cassowary_test.dart index 900e2cee3b9..854b23b2517 100644 --- a/packages/cassowary/test/cassowary_test.dart +++ b/packages/cassowary/test/cassowary_test.dart @@ -501,4 +501,30 @@ void main() { expect(s.toString() != null, true); }); + + test('solution_with_optimize', () { + Param p1 = new Param(); + Param p2 = new Param(); + Param p3 = new Param(); + + Param container = new Param(); + + Solver solver = new Solver(); + + solver.addEditVariable(container.variable, Priority.strong); + solver.suggestValueForVariable(container.variable, 100.0); + + solver.addConstraint((p1 >= CM(30.0)) | Priority.strong); + solver.addConstraint(((p1 == p3) as Constraint) | Priority.medium); + solver.addConstraint((p2 == CM(2.0) * p1) as Constraint); + solver.addConstraint((container == (p1 + p2 + p3)) as Constraint); + + solver.flushVariableUpdates(); + + expect(container.value, 100.0); + + expect(p1.value, 30.0); + expect(p2.value, 60.0); + expect(p3.value, 10.0); + }); }