public
Description: the [OpenWFEru] workflow and BPM engine (ruby)
Homepage: http://openwferu.rubyforge.org
Clone URL: git://github.com/jmettraux/ruote.git
ruote / test / filter_test.rb
100644 110 lines (76 sloc) 1.603 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#
# Testing OpenWFE
#
# John Mettraux at openwfe.org
#
 
require 'test/unit'
 
require 'openwfe/filterdef'
 
 
class FilterTest < Test::Unit::TestCase
 
  #def setup
  #end
 
  #def teardown
  #end
 
  def test_filter_in
 
    f0 = OpenWFE::FilterDefinition.new
    f0.closed = true
    f0.add_field("a", "r")
    f0.add_field("b", "rw")
    f0.add_field("c", "")
 
    m0 = {
      "a" => "A",
      "b" => "B",
      "c" => "C",
      "d" => "D",
    }
 
    m1 = f0.filter_in m0
 
    #require 'pp'; pp m0
    #require 'pp'; pp m1
    assert_equal m1, { "a" => "A", "b" => "B" }
 
    f0.closed = false
 
    m2 = f0.filter_in m0
 
    #require 'pp'; pp m0
    #require 'pp'; pp m2
    assert_equal m2, { "a" => "A", "b" => "B", "d" => "D" }
  end
 
  def test_filter_out_0
 
    f0 = OpenWFE::FilterDefinition.new
    f0.closed = false
    f0.add_ok = true
    f0.remove_ok = true
    f0.add_field("a", "r")
    f0.add_field("b", "rw")
    f0.add_field("c", "")
 
    m0 = {
      "a" => "A",
      "b" => "B",
      "c" => "C",
      "d" => "D",
    }
 
    #
    # 0
 
    m1 = {
      "z" => "Z"
    }
 
    m2 = f0.filter_out m0, m1
 
    #require 'pp'; pp m2
    assert_equal m2, {"z"=>"Z"}
 
    #
    # 1
 
    f0.remove_ok = false
 
    m2 = f0.filter_out m0, m1
 
    #require 'pp'; pp m2
    assert_equal m2, {"a"=>"A", "b"=>"B", "c"=>"C", "z"=>"Z", "d"=>"D"}
 
    #
    # 2
 
    f0.remove_allowed = true
 
    m1 = {
      "a" => 0,
      "b" => 1,
      "c" => 2,
      "d" => 3
    }
 
    m2 = f0.filter_out m0, m1
 
    #require 'pp'; pp m2
    assert_equal m2, {"a"=>"A", "b"=>1, "c"=>"C", "d"=>3}
  end
 
end