test/lib/vedeu/dsl/group_test.rb in vedeu-0.4.4 vs test/lib/vedeu/dsl/group_test.rb in vedeu-0.4.5
- old
+ new
@@ -41,12 +41,60 @@
add('editor_interface')
end
}
it { subject.must_be_instance_of(Vedeu::Group) }
+
+ it { subject.members.must_equal(Set['editor_interface']) }
end
end # Group
+
+ describe 'integration' do
+
+ context 'it does not work without a name' do
+ subject {
+ Vedeu.group('') do
+ add('main_interface')
+ end
+ }
+
+ it { proc { subject }.must_raise(MissingRequired) }
+ end
+
+ context 'it adds interface names to the group' do
+ subject {
+ Vedeu.group('my_group') do
+ add('main_interface')
+ add('status_interface')
+ add('command_interface')
+ end
+ }
+
+ it { subject.members.size.must_equal(3) }
+
+ it { subject.members.must_equal(
+ Set['main_interface', 'status_interface', 'command_interface']
+ ) }
+ end
+
+ context 'it does not add duplicate names to the group' do
+ subject {
+ Vedeu.group('my_group') do
+ add('main_interface')
+ add('status_interface')
+ add('main_interface')
+ end
+ }
+
+ it { subject.members.size.must_equal(2) }
+
+ it { subject.members.must_equal(
+ Set['main_interface', 'status_interface']
+ ) }
+ end
+
+ end
end # DSL
end # Vedeu