pattern 0.9.5 → 0.9.7

Sign up to get free protection for your applications and to get access to all the features.
data/README.md ADDED
@@ -0,0 +1,135 @@
1
+ # EasyPattern
2
+ =====
3
+
4
+ Rubygem for building Pattern/Data Structure .
5
+ Supports custom templates by any language.
6
+ Good tools for learning Pattern/Data Structure.
7
+
8
+ ## Useage
9
+ ======
10
+
11
+ ```
12
+ gem install pattern
13
+ ```
14
+
15
+ simple model
16
+
17
+ ```
18
+ pattern [tempate_dir] [main_class_name] [-d target_dir]
19
+
20
+ pattern [-t tempate_dir] [-d target_dir("." is default)]
21
+ [-c classes_name] [-op operations_name]
22
+
23
+ ```
24
+
25
+ complex model (not support now.)
26
+
27
+ ```
28
+ pattern -f pattern_file
29
+
30
+ ```
31
+ ## example:
32
+ ======
33
+
34
+ simple model:
35
+
36
+ ```
37
+ pattern ruby.composite Task -d target
38
+ pattern -t ruby.composite -d target -c Task;CompositeTask;AddDryIngredientsTask,MixTask,AddLiquidsTask;MakeBatterTask,MakeCakeTask -op get_time_required
39
+
40
+ ```
41
+
42
+
43
+ complex model(pattern_file):
44
+
45
+ ### Create you Own Pattern
46
+
47
+ Eg. composite
48
+
49
+ 1. Create a directry as template_dir
50
+ 2. Create dir ruby.composite
51
+ 3. tree like this:
52
+
53
+ ```
54
+ ├── ruby.composite
55
+ │   ├── component.rb
56
+ │   ├── composite.rb
57
+ │   ├── compositeobject.rb
58
+ │   ├── leaf.rb
59
+ │   ├── operations
60
+ │   └── readme
61
+ ```
62
+ 4. readme
63
+
64
+ ```
65
+ template "component.rb","class_name"
66
+ template "composite.rb","composite_name"
67
+ template "leaf.rb","leaf_name"
68
+ template "compositeobject.rb","composite_object_name"
69
+ default @base_name,"Composite#{@base_name}","Leaf#{@base_name}","CompositeObject#{@base_name}"
70
+ ```
71
+ template [template_name],[target_file_name_1]
72
+
73
+ template [template_name],[target_file_name_2]
74
+
75
+ default [target_file_name_1],[target_file_name_2]
76
+
77
+ 5. operations
78
+
79
+ ```
80
+ def #operation#
81
+
82
+ end
83
+ ```
84
+
85
+ 6. component.rb
86
+
87
+ ```
88
+
89
+
90
+
91
+ # This is code of composite pattern . Generated by pattern.
92
+ #
93
+
94
+ class #class_name#
95
+ attr_accessor :name,:parent
96
+ def initialize(name)
97
+ @name = name
98
+ @parent = nil
99
+ end
100
+ # TODO: operations
101
+ #operations#
102
+ end
103
+
104
+ ```
105
+
106
+ See ./templates for detail.
107
+
108
+ 7. Set dir as search path
109
+
110
+ ```
111
+ pattern -t tempate_dir]
112
+ ```
113
+
114
+ ## Future
115
+ Sharing pattern templates on website.
116
+
117
+ ## Version
118
+ 0.9.4
119
+ 1. Refactoring the code
120
+ 2. Template of ruby.composite work
121
+ 3. Getting help with no parameter
122
+ 4. Replacing lower_case name . Example: class_name:Task lc_class_name:task
123
+
124
+
125
+ == Question
126
+ If you get some Questions. Mailto :azhao.1981@gmail.com
127
+
128
+ == Author
129
+
130
+ Copyright 2010 @ weizhao
131
+ mailto: azhao.1981@gmail.com
132
+
133
+ == licese
134
+
135
+ This library and all associated materials are releassse under the terms of version 2 of the GNU Public License(http://www.gnu.org/copyleft/gpl.html).
data/bin/pattern CHANGED
@@ -1,31 +1,47 @@
1
1
  #!/usr/bin/env ruby
2
- current_dir = File.dirname(__FILE__)
2
+ # encoding: utf-8
3
+
4
+ #for require file relative.in ruby 1.9.3 use require_relative
5
+ def require_r(path) require(File.expand_path(path.to_s, File.dirname(__FILE__))) end
6
+
7
+ require 'optparse'
8
+ require_r '../lib/version'
9
+ require_r '../lib/configuration'
3
10
 
4
- require current_dir + '/../lib/version'
5
11
  puts "#{Pattern::HELP::WELLCOME}"
6
- if %w(--version -v).include? ARGV.first
7
- puts "pattern #{Pattern::VERSION::STRING}"
8
- exit(0)
9
- end
10
- require current_dir + '/../lib/configuration'
11
12
 
12
- if %w(--set -s).include? ARGV.first
13
- configuration = Configuration.new
14
- configuration.execute(ARGV)
15
- exit(0)
16
- end
13
+ options = {}
14
+ option_parser = OptionParser.new do |opts|
15
+ opts.banner = "Usage:"
16
+
17
+ opts.on('-v','--version','Show Version') do
18
+ puts "pattern #{Pattern::VERSION::STRING}"
19
+ exit(0)
20
+ end
21
+
22
+ opts.on('-s','--set','Set template dir' ) do
23
+ configuration = Configuration.new
24
+ configuration.execute(ARGV)
25
+ exit(0)
26
+ end
27
+
28
+ opts.on('-l','--list','list template dirs') do
29
+ configuration = Configuration.new
30
+ configuration.list
31
+ exit(0)
32
+ end
33
+
34
+ opts.on('-f','--file','Specify pattern file') do |file|
35
+
36
+ end
17
37
 
18
- if %w(--list -l).include? ARGV.first
19
- configuration = Configuration.new
20
- configuration.list
21
- exit(0)
22
- end
38
+ end.parse!
23
39
 
24
40
  if (ARGV.empty? || (%w(--help -h).include? ARGV.first))
25
41
  puts Pattern::HELP::STRING
26
42
  exit(0)
27
43
  end
28
44
 
29
- require current_dir + '/../lib/compositecode'
45
+ require_r '../lib/compositecode'
30
46
  pattern = CompositeCode.new(Command.new(ARGV))
31
47
  pattern.execute
data/lib/code.rb CHANGED
@@ -16,6 +16,9 @@ class Code
16
16
  end
17
17
  return template_string
18
18
  end
19
+
20
+
21
+ # add for test
19
22
 
20
23
  def generate_code
21
24
  if File.exist?(@target_file_name)
data/lib/common.rb CHANGED
@@ -18,4 +18,8 @@ module PathCommon
18
18
  def join(path,file=".")
19
19
  File.join(path,file)
20
20
  end
21
+ # require file from project dir
22
+ def require_p(path)
23
+ require join(PROJECT_DIR,path)
24
+ end
21
25
  end
data/lib/configuration.rb CHANGED
@@ -29,8 +29,8 @@ class Configuration
29
29
  puts list-[".",".."]
30
30
  end
31
31
  def execute(argv)
32
- parameters = argv[2..100] || [Dir.pwd]
33
- action = argv[1]
32
+ parameters = argv[1..100] || [Dir.pwd]
33
+ action = argv[0]
34
34
  add_path(parameters) if action=="add"
35
35
  remove_path(parameters) if action == "remove"
36
36
  get_default if action == "default"
@@ -0,0 +1,7 @@
1
+ # encoding: utf-8
2
+
3
+ class PatternRobot
4
+ def initialize(options,ARGV)
5
+
6
+ end
7
+ end
data/lib/version.rb CHANGED
@@ -2,31 +2,31 @@ module Pattern
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 9
5
- TINY = 5
5
+ TINY = 7
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
9
9
  module HELP
10
10
  STRING = <<-EOF
11
- pattern is a tool for coding/learning pattern/data structure.
12
- Usage:
13
- pattern -h/--help
14
- pattern -v/--version
15
- pattern -l/--list
16
- pattern -s/--set [add/remove/default] [template_dir]
17
- pattern [tempate_dir] [main_class_name] [-d target_dir]
18
- pattern [-t tempate_dir] [-d target_dir("." is default)] [-c classes_name] [-op operations_name]
19
- Examples:
20
- pattern -l List template you get
21
- pattern -s add . Add current dir as templates path
22
- pattern ruby.composite Task Generate a composite pattern ,which base class name as Task
23
- pattern -t ruby.composite -d E:/dev/pattern/target -c Task;CompositeTask;AddDryIngredientsTask,MixTask;MakeBatterTask -op execute,test
24
- Further Help:
25
- Further information:
26
- https://github.com/azhao1981/pattern
11
+ pattern is a tool for coding/learning pattern/data structure.
12
+ Usage:
13
+ pattern -h/--help
14
+ pattern -v/--version
15
+ pattern -l/--list
16
+ pattern -s/--set [add/remove/default] [template_dir]
17
+ pattern [tempate_dir] [main_class_name] [-d target_dir]
18
+ pattern [-t tempate_dir] [-d target_dir("." is default)] [-c classes_name] [-op operations_name]
19
+ Examples:
20
+ pattern -l List template you get
21
+ pattern -s add . Add current dir as templates path
22
+ pattern ruby.composite Task Generate a composite pattern ,which base class name as Task
23
+ pattern -t ruby.composite -d E:/dev/pattern/target -c Task;CompositeTask;AddDryIngredientsTask,MixTask;MakeBatterTask -op execute,test
24
+ Further Help:
25
+ Further information:
26
+ https://github.com/azhao1981/pattern
27
27
  EOF
28
28
  WELLCOME = <<-EOF
29
- Thanks for using pattern beta.You get idea or Question.Mailto:azhao.1981@gmail.com
29
+ Thanks for using pattern beta.Q&Ideas Mailto:azhao.1981@gmail.com
30
30
  EOF
31
31
  end
32
32
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pattern
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.5
4
+ version: 0.9.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-04 00:00:00.000000000 Z
12
+ date: 2013-02-18 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: ! "\t Tool for coding/learning pattern/data structure\n"
15
15
  email: azhao.1981@gmail.com
@@ -18,33 +18,28 @@ executables:
18
18
  extensions: []
19
19
  extra_rdoc_files: []
20
20
  files:
21
- - lib/compositecode.rb
22
- - lib/version.rb
21
+ - lib/code.rb
23
22
  - lib/command.rb
24
- - lib/patterncode.rb
25
- - lib/configuration.rb
26
23
  - lib/common.rb
27
- - lib/code.rb
24
+ - lib/compositecode.rb
25
+ - lib/configuration.rb
26
+ - lib/patterncode.rb
27
+ - lib/patternrobot.rb
28
+ - lib/version.rb
28
29
  - bin/pattern
29
30
  - LICENSE
30
- - README
31
- - Rakefile
32
31
  - README.cn
33
- - test/patterncode_spec.rb
34
- - test/compositecode_spec.rb
35
- - test/code_spec.rb
36
- - test/command_spec.rb
37
- - test/configuration_spec.rb
38
- - templates/ruby.template/concreteclass.rb
39
- - templates/ruby.template/abstractclass.rb
40
- - templates/ruby.template/readme
41
- - templates/ruby.template/operations
42
- - templates/ruby.composite/leaf.rb
32
+ - README.md
43
33
  - templates/ruby.composite/component.rb
44
- - templates/ruby.composite/compositeobject.rb
45
34
  - templates/ruby.composite/composite.rb
46
- - templates/ruby.composite/readme
35
+ - templates/ruby.composite/compositeobject.rb
36
+ - templates/ruby.composite/leaf.rb
47
37
  - templates/ruby.composite/operations
38
+ - templates/ruby.composite/readme
39
+ - templates/ruby.template/abstractclass.rb
40
+ - templates/ruby.template/concreteclass.rb
41
+ - templates/ruby.template/operations
42
+ - templates/ruby.template/readme
48
43
  - etc/templates_path.conf
49
44
  - docs/todolist.txt
50
45
  homepage: https://github.com/azhao1981/pattern
@@ -70,13 +65,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
70
65
  version: '0'
71
66
  requirements: []
72
67
  rubyforge_project: pattern
73
- rubygems_version: 1.8.15
68
+ rubygems_version: 1.8.24
74
69
  signing_key:
75
70
  specification_version: 3
76
71
  summary: auto code tools.
77
- test_files:
78
- - test/patterncode_spec.rb
79
- - test/compositecode_spec.rb
80
- - test/code_spec.rb
81
- - test/command_spec.rb
82
- - test/configuration_spec.rb
72
+ test_files: []
data/README DELETED
@@ -1,43 +0,0 @@
1
- == EasyPattern
2
-
3
- Rubygem for building Pattern/Data Structure .
4
- Supports custom templates by any language.
5
- Good tools for learning Pattern/Data Structure.
6
-
7
- == Useage
8
-
9
- simple model
10
- *pattern [tempate_dir] [main_class_name] [-d target_dir]
11
- *pattern [-t tempate_dir] [-d target_dir("." is default)] [-c classes_name] [-op operations_name]
12
- complex model (not support now.)
13
- *pattern -f pattern_file
14
-
15
- == example:
16
-
17
- simple model:
18
- * pattern ruby.composite Task -d target
19
- * pattern -t ruby.composite -d target -c Task;CompositeTask;AddDryIngredientsTask,MixTask,AddLiquidsTask;MakeBatterTask,MakeCakeTask -op get_time_required
20
- complex model(pattern_file):
21
-
22
- == Future
23
- Sharing pattern templates on website.
24
-
25
- == Version
26
- 0.9.4
27
- 1. Refactoring the code
28
- 2. Template of ruby.composite work
29
- 3. Getting help with no parameter
30
- 4. Replacing lower_case name . Example: class_name:Task lc_class_name:task
31
-
32
-
33
- == Question
34
- If you get some Questions. Mailto :azhao.1981@gmail.com
35
-
36
- == Author
37
-
38
- Copyright 2010 @ weizhao
39
- mailto: azhao.1981@gmail.com
40
-
41
- == licese
42
-
43
- This library and all associated materials are releassse under the terms of version 2 of the GNU Public License(http://www.gnu.org/copyleft/gpl.html).
data/Rakefile DELETED
@@ -1,8 +0,0 @@
1
- require 'rubygems'
2
- require 'rake'
3
-
4
- task :install do
5
- `cp -R lib /usr/lib/ruby/gems/1.8/gems/pattern-0.9.0/`
6
- `cp bin/pattern /usr/bin`
7
- end
8
-
data/test/code_spec.rb DELETED
@@ -1,35 +0,0 @@
1
- #--
2
- # Copyright (c) 2010 weizhao
3
- #
4
- require File.dirname(__FILE__) + '/../lib/code'
5
- require File.dirname(__FILE__) + '/../lib/common'
6
- include PathCommon
7
-
8
- describe Code do
9
- before(:each) do
10
- template_file_name = absolute_path("../templates/ruby.composite/component.rb",File.dirname(__FILE__))
11
- target_file_name = absolute_path("../temp/task",File.dirname(__FILE__))
12
- @target_file_name_test = target_file_name
13
- replace_values = {"class_name"=>"Task","operations"=>" def execute\n \t\n end\n"}
14
- @component_code = Code.new(template_file_name,target_file_name,replace_values)
15
- end
16
- it "1. replace_template should return template contain 'Task' & 'execute' " do
17
- template = @component_code.replace_template
18
- (/Task/ =~ template).should > 0
19
- (/execute/ =~ template).should > 0
20
- end
21
-
22
- it "2. generate_code should create a new file" do
23
- @component_code.generate_code
24
- template = File.open(@target_file_name_test).readlines.join
25
- (/Task/ =~ template).should be > 0
26
- (/execute/ =~ template).should be > 0
27
- end
28
-
29
- it "3. execute will do generate_code " do
30
- @component_code.execute
31
- template = File.open(@target_file_name_test).readlines.join
32
- (/Task/ =~ template).should be > 0
33
- (/execute/ =~ template).should be > 0
34
- end
35
- end
data/test/command_spec.rb DELETED
@@ -1,19 +0,0 @@
1
- require File.dirname(__FILE__) + '/../lib/command'
2
-
3
- describe Command do
4
- before(:each) do
5
- params = "-t ruby.composite -c Task;compositeTask;AddDryIngredientsTask,MixTask;MakeBatterTask -op execute".split(" ")
6
- @command = Command.new(params)
7
- end
8
- it "1. Command.new should get right parameter form param" do
9
- @command.template_dir.should == "E:/dev/pattern/templates/ruby.composite"
10
- @command.classes.should == [["Task"],["compositeTask"],
11
- ["AddDryIngredientsTask","MixTask"],["MakeBatterTask"]]
12
- @command.operations.should == [['execute']]
13
- @command.target_dir.should == "E:/dev/pattern"
14
- end
15
- it "2. absolute_path should return absolute path " do
16
- @command.absolute_path("../templates/ruby.composite","./bin/../lib").should == "E:/dev/pattern/templates/ruby.composite"
17
- end
18
- end
19
-
@@ -1,130 +0,0 @@
1
- require File.dirname(__FILE__) + '/../lib/compositecode'
2
-
3
- describe CompositeCode do
4
- before(:each) do
5
- params = "-t ruby.composite -d E:/dev/pattern/target -c Task;CompositeTask;AddDryIngredientsTask,MixTask;MakeBatterTask -op execute,test".split(" ")
6
- @command = Command.new(params)
7
- @target_dir = "E:/dev/pattern/target"
8
- @compositecode = CompositeCode.new(@command)
9
- end
10
- it "1. classes_to_codes should return codes " do
11
- @compositecode.load_readme
12
- @compositecode.classes_to_codes.length.should == 5
13
- code = @compositecode.codes[0]
14
- code.template_file_name.should == "E:/dev/pattern/templates/ruby.composite/component.rb"
15
- code.target_file_name.should == "E:/dev/pattern/target/task.rb"
16
- code.replace_values.should == {"class_name"=>"Task","composite_name"=>"CompositeTask",
17
- "leaf_name"=>"AddDryIngredientsTask",
18
- "composite_object_name"=>"MakeBatterTask",
19
- "lc_class_name"=>"task","lc_composite_name"=>"compositetask",
20
- "lc_leaf_name"=>"adddryingredientstask",
21
- "lc_composite_object_name"=>"makebattertask",
22
- "operations"=>" def execute\n \t\n end\n def test\n \t\n end\n"
23
- }
24
- code = @compositecode.codes[1]
25
- code.template_file_name.should == "E:/dev/pattern/templates/ruby.composite/composite.rb"
26
- code.target_file_name.should == "E:/dev/pattern/target/compositetask.rb"
27
- code.replace_values.should == {"class_name"=>"Task","composite_name"=>"CompositeTask",
28
- "leaf_name"=>"AddDryIngredientsTask",
29
- "composite_object_name"=>"MakeBatterTask",
30
- "lc_class_name"=>"task","lc_composite_name"=>"compositetask",
31
- "lc_leaf_name"=>"adddryingredientstask",
32
- "lc_composite_object_name"=>"makebattertask",
33
- "operations"=>" def execute\n \t\n end\n def test\n \t\n end\n"
34
- }
35
- code = @compositecode.codes[2]
36
- code.template_file_name.should == "E:/dev/pattern/templates/ruby.composite/leaf.rb"
37
- code.target_file_name.should == "E:/dev/pattern/target/adddryingredientstask.rb"
38
- code.replace_values.should == {"class_name"=>"Task","composite_name"=>"CompositeTask",
39
- "leaf_name"=>"AddDryIngredientsTask",
40
- "composite_object_name"=>"MakeBatterTask",
41
- "lc_class_name"=>"task","lc_composite_name"=>"compositetask",
42
- "lc_leaf_name"=>"adddryingredientstask",
43
- "lc_composite_object_name"=>"makebattertask",
44
- "operations"=>" def execute\n \t\n end\n def test\n \t\n end\n"
45
- }
46
- code = @compositecode.codes[3]
47
- code.template_file_name.should == "E:/dev/pattern/templates/ruby.composite/leaf.rb"
48
- code.target_file_name.should == "E:/dev/pattern/target/mixtask.rb"
49
- code.replace_values.should == {"class_name"=>"Task","composite_name"=>"CompositeTask",
50
- "leaf_name"=>"MixTask",
51
- "composite_object_name"=>"MakeBatterTask",
52
- "lc_class_name"=>"task","lc_composite_name"=>"compositetask",
53
- "lc_leaf_name"=>"mixtask",
54
- "lc_composite_object_name"=>"makebattertask",
55
- "operations"=>" def execute\n \t\n end\n def test\n \t\n end\n"
56
- }
57
- code = @compositecode.codes[4]
58
- code.template_file_name.should == "E:/dev/pattern/templates/ruby.composite/compositeobject.rb"
59
- code.target_file_name.should == "E:/dev/pattern/target/makebattertask.rb"
60
- code.replace_values.should == {"class_name"=>"Task","composite_name"=>"CompositeTask",
61
- "leaf_name"=>"AddDryIngredientsTask",
62
- "composite_object_name"=>"MakeBatterTask",
63
- "lc_class_name"=>"task","lc_composite_name"=>"compositetask",
64
- "lc_leaf_name"=>"adddryingredientstask",
65
- "lc_composite_object_name"=>"makebattertask",
66
- "operations"=>" def execute\n \t\n end\n def test\n \t\n end\n"
67
- }
68
- end
69
- it "2. default params should return base_name and default_classes " do
70
- params = "ruby.composite Task -d E:/dev/pattern/target".split(" ")
71
- @compositecode = CompositeCode.new(Command.new(params))
72
- @compositecode.load_readme
73
- @compositecode.classes_to_codes.length.should == 4
74
- code = @compositecode.codes[0]
75
- code.template_file_name.should == "E:/dev/pattern/templates/ruby.composite/component.rb"
76
- code.target_file_name.should == "E:/dev/pattern/target/task.rb"
77
- code.replace_values.should == {"class_name"=>"Task","composite_name"=>"CompositeTask",
78
- "leaf_name"=>"LeafTask",
79
- "composite_object_name"=>"CompositeObjectTask",
80
- "lc_class_name"=>"task","lc_composite_name"=>"compositetask",
81
- "lc_leaf_name"=>"leaftask",
82
- "lc_composite_object_name"=>"compositeobjecttask",
83
- "operations"=>""
84
- }
85
- code = @compositecode.codes[1]
86
- code.template_file_name.should == "E:/dev/pattern/templates/ruby.composite/composite.rb"
87
- code.target_file_name.should == "E:/dev/pattern/target/compositetask.rb"
88
- code.replace_values.should == {"class_name"=>"Task","composite_name"=>"CompositeTask",
89
- "leaf_name"=>"LeafTask",
90
- "composite_object_name"=>"CompositeObjectTask",
91
- "lc_class_name"=>"task","lc_composite_name"=>"compositetask",
92
- "lc_leaf_name"=>"leaftask",
93
- "lc_composite_object_name"=>"compositeobjecttask",
94
- "operations"=>""
95
- }
96
- code = @compositecode.codes[2]
97
- code.template_file_name.should == "E:/dev/pattern/templates/ruby.composite/leaf.rb"
98
- code.target_file_name.should == "E:/dev/pattern/target/leaftask.rb"
99
- code.replace_values.should == {"class_name"=>"Task","composite_name"=>"CompositeTask",
100
- "leaf_name"=>"LeafTask",
101
- "composite_object_name"=>"CompositeObjectTask",
102
- "lc_class_name"=>"task","lc_composite_name"=>"compositetask",
103
- "lc_leaf_name"=>"leaftask",
104
- "lc_composite_object_name"=>"compositeobjecttask",
105
- "operations"=>""
106
- }
107
- code = @compositecode.codes[3]
108
- code.template_file_name.should == "E:/dev/pattern/templates/ruby.composite/compositeobject.rb"
109
- code.target_file_name.should == "E:/dev/pattern/target/compositeobjecttask.rb"
110
- code.replace_values.should == {"class_name"=>"Task","composite_name"=>"CompositeTask",
111
- "leaf_name"=>"LeafTask",
112
- "composite_object_name"=>"CompositeObjectTask",
113
- "lc_class_name"=>"task","lc_composite_name"=>"compositetask",
114
- "lc_leaf_name"=>"leaftask",
115
- "lc_composite_object_name"=>"compositeobjecttask",
116
- "operations"=>""
117
- }
118
- end
119
-
120
- end
121
-
122
-
123
-
124
-
125
-
126
-
127
-
128
-
129
-
130
-
@@ -1,28 +0,0 @@
1
- require File.dirname(__FILE__) + '/../lib/configuration'
2
-
3
- describe Configuration do
4
- before(:each) do
5
- @configuration = Configuration.new
6
- @configuration.get_default
7
- end
8
- after(:each) do
9
- @configuration.get_default
10
- end
11
- it "1. get_path should return current path " do
12
- @configuration.get_path[0].should == "E:/dev/pattern/templates"
13
- @configuration.get_path.length == 1
14
- end
15
- it "2. add_path should add a path into configuration" do
16
- @configuration.add_path(["E:/dev/pattern/templates2","E:/dev/pattern/templates3"])
17
- @configuration.get_path[0].should == "E:/dev/pattern/templates"
18
- @configuration.get_path[1].should == "E:/dev/pattern/templates2"
19
- @configuration.get_path[2].should == "E:/dev/pattern/templates3"
20
- @configuration.get_path.length == 3
21
- end
22
- it "3. remove_path should remove a path form configuration" do
23
- @configuration.add_path(["E:/dev/pattern/templates2","E:/dev/pattern/templates3"])
24
- @configuration.remove_path(["E:/dev/pattern/templates2"])
25
- @configuration.get_path[1].should == "E:/dev/pattern/templates3"
26
- @configuration.get_path.length == 2
27
- end
28
- end
@@ -1,35 +0,0 @@
1
- #--
2
- # Copyright (c) 2010 weizhao
3
- #
4
- require File.dirname(__FILE__) + '/../lib/patterncode'
5
- require File.dirname(__FILE__) + '/../lib/common'
6
- include PathCommon
7
-
8
- describe PatternCode do
9
- before(:each) do
10
- template_file_name = absolute_path("../templates/ruby.composite/component.rb",File.dirname(__FILE__))
11
- target_file_name = absolute_path("../temp/task",File.dirname(__FILE__))
12
- @target_file_name_test = target_file_name
13
- replace_values = {"class_name"=>"Task","operations"=>" def execute\n \t\n end\n"}
14
- @component_code = PatternCode.new(template_file_name,target_file_name,replace_values)
15
- end
16
- it "1. replace_template should return template contain 'Task' & 'execute' " do
17
- template = @component_code.replace_template
18
- (/Task/ =~ template).should be > 0
19
- (/execute/ =~ template).should be > 0
20
- end
21
-
22
- it "2. generate_code should create a new file" do
23
- @component_code.generate_code
24
- template = File.open(@target_file_name_test).readlines.join
25
- (/Task/ =~ template).should be > 0
26
- (/execute/ =~ template).should be > 0
27
- end
28
-
29
- it "3. execute will do generate_code " do
30
- @component_code.execute
31
- template = File.open(@target_file_name_test).readlines.join
32
- (/Task/ =~ template).should be > 0
33
- (/execute/ =~ template).should be > 0
34
- end
35
- end