this repo has no description
at develop 2.4 kB view raw
1/*** 2!Test 3expected: !Result 4 status: SATISFIED 5***/ 6 7% Test the is_fixed/1 built-in. 8 9% Removed temporarily until bug is corrected 10% constraint is_fixed(_) = false; 11 12constraint is_fixed(true) = true; 13constraint is_fixed(42) = true; 14constraint is_fixed(3.141) = true; 15constraint is_fixed("Hello World\n") == true; 16 17constraint is_fixed({}) = true; 18constraint is_fixed({1, 2, 3}) = true; 19constraint is_fixed({true}) = true; 20constraint is_fixed({4.0}) = true; 21 22constraint is_fixed([]) = true; 23constraint is_fixed([true, false, true]) = true; 24constraint is_fixed([1, 2, 3]) = true; 25constraint is_fixed([1.0, 2.0, 3.0]) = true; 26constraint is_fixed([{1, 2, 3}, {4, 5, 6}]) = true; 27constraint is_fixed(["abc", "def", "ghi"]) = true; 28 29bool: pb = true; 30int: pi = 3; 31float: pf = 4.0; 32set of int: psi = {1, 2, 3}; 33 34constraint is_fixed(pb) = true; 35constraint is_fixed(pi) = true; 36constraint is_fixed(pf) = true; 37constraint is_fixed(psi) = true; 38 39array[1..3] of bool: apb = [true, false, true]; 40array[1..3] of int: api = [1, 2, 3]; 41array[1..3] of float: apf = [1.0, 2.0, 3.0]; 42array[1..3] of set of int: apsi = [{}, {1}, {2, 3}]; 43array[1..3] of string: astr = ["foo", "bar", "baz"]; 44 45constraint is_fixed(apb) = true; 46constraint is_fixed(api) = true; 47constraint is_fixed(apf) = true; 48constraint is_fixed(apsi) = true; 49constraint is_fixed(astr) = true; 50 51constraint is_fixed(apb[1]) = true; 52constraint is_fixed(apb[pi]) = true; 53 54var bool: vb; 55var int: vi; 56var set of 0..100: vsi; 57 58constraint is_fixed(vb) = false; 59constraint is_fixed(vi) = false; 60constraint is_fixed(vsi) = false; 61 62array[1..3] of var bool: avb; 63array[1..3] of var int: avi; 64array[1..3] of var set of 0..100: avsi; 65 66constraint is_fixed(avb) = false; 67constraint is_fixed(avi) = false; 68constraint is_fixed(avsi) = false; 69 70var bool: vb2 = true; 71var int: vi2 = 42; 72var set of 0..100: vsi2 = {1, 2, 3}; 73 74constraint is_fixed(vb2) = true; 75constraint is_fixed(vi2) = true; 76constraint is_fixed(vsi2) = true; 77 78predicate test_int(var int: x) = 79 ( if is_fixed(x) then true else false endif ); 80 81constraint test_int(341) = true; 82constraint test_int(vi) = false; 83constraint test_int(vi2) = true; 84 85predicate test_array_int(array[int] of var int: x) = 86 ( if is_fixed(x) then true else false endif ); 87 88constraint test_array_int([1, 2, 3]) = true; 89constraint test_array_int([1, _, 3]) = false; 90constraint test_array_int(avi) = false; 91 92solve satisfy;