Skip to content

Commit

Permalink
Merge pull request #15 from Aditya-Chowdhry/set_enhancement
Browse files Browse the repository at this point in the history
Added ⊂ , ⊃ ,∈ ,∉ , ∅
  • Loading branch information
danielmorrison committed Feb 29, 2016
2 parents bb51c6b + 0d98818 commit 02bea55
Show file tree
Hide file tree
Showing 2 changed files with 78 additions and 0 deletions.
22 changes: 22 additions & 0 deletions lib/unicode_math/set.rb
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,31 @@ def self.included(base)
define_method('∪') do |set|
self | set
end

define_method('⊂') do |set|
((set. self) == self)
end

define_method('⊃') do |set|
((self. set) == set)
end

define_method('∈') do |set|
(self. set) == self
end

define_method('∉') do |set|
!((self. set) == self)
end

define_method('∅') do
self.empty?
end

end
end
end
end

Array.send(:include, UnicodeMath::Set)

56 changes: 56 additions & 0 deletions spec/unicode_math/set_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
before do
@primes = [2, 3, 5, 7]
@odd_nums = [3, 5, 7, 9]
@superset = [1,2,3,4,5]
@subset = [3,5]
end

it 'defines the intersection operator: ∩' do
Expand All @@ -17,4 +19,58 @@
union = @primes. @odd_nums
expect(union).to eq([2, 3, 5, 7, 9])
end

it 'defines subset A ⊂ B : true' do
subset = @subset. @superset
expect(subset).to eq(true)
end

it 'defines subset A ⊂ B : false' do
subset = @superset. @subset
expect(subset).to eq(false)
end

it 'defines superset A ⊃ B : false' do
subset = @subset. @superset
expect(subset).to eq(false)
end

it 'defines superset A ⊃ B : true' do
subset = @superset. @subset
expect(subset).to eq(true)
end

it 'defines A belongs to B, A ∈ B : false' do
belongs_to = @superset. @subset
expect(belongs_to).to eq(false)
end

it 'defines A belongs to B, A ∈ B : true' do
belongs_to = @subset. @superset
expect(belongs_to).to eq(true)
end

it 'defines A does not belong to B, A ∉ B : false' do
not_belongs_to = @subset. @superset
#Does @subset does not belong to @primes ?
#True if it doesn't belong
expect(not_belongs_to).to eq(false)
end

it 'defines A does not belong to B, A ∉ B : true' do
not_belongs_to = @superset. @subset
expect(not_belongs_to).to eq(true)
end

it 'defines A is empty' do
empty = @primes.
expect(empty).to eq(false)
end

it 'defines A is empty' do
empty = [].
expect(empty).to eq(true)
end

end

0 comments on commit 02bea55

Please sign in to comment.