unicode_math 1.4.0 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4ddad12578490001d2c5fda8af73fab672f27539
4
- data.tar.gz: e7d11e789c77d29010793fbd7051473923c6b8aa
3
+ metadata.gz: 2657e99df17e5ea1fcc6cd5b017e7bc02ec7536d
4
+ data.tar.gz: bc05e23a37690227f30789429f6162b61611eae0
5
5
  SHA512:
6
- metadata.gz: 3c893a8dd5572da2a8aa89f45ab342311ecbd52778bdbd13bae63f81e6c2ae6abcf9ca716a315b00687c8ae42a92d192255171987e0ba594211bb8c970f57d13
7
- data.tar.gz: 4b0610cc0674ac6c4b1b70531a8d134a5c171feb50c7e18bddc9796c733ce3e278ed646f9db9e2e48eb73bcd5a02155db0432ca6726f7fd1ab3a8ff597427d83
6
+ metadata.gz: d23edaacecb607146b0f04b7b6354634cfa1ca974769f36880b4e47fc467363ea7e80c577a3bba5bdfd9958a9d369fb0cfea13fb3e5b29f8ddc1c3746d1c0308
7
+ data.tar.gz: 915672527c6566360d354c71961bcb7033f5db2d7dfd769793c9a92bca0a2917271681b36bcc6b32f8cb1036e1498e7c77cc8b67b76e120d638fad88ef73e8b4
data/README.md CHANGED
@@ -80,9 +80,14 @@ You can sum up or multiply emlements of either an array or range:
80
80
 
81
81
  ### Array as set
82
82
 
83
- [2, 3, 5, 7].∩ [3, 5, 7, 9]
84
- [2, 3, 5, 7].∪ [3, 5, 7, 9]
85
-
83
+ [2, 3, 5, 7].∩ [3, 5, 7, 9] # Intersection
84
+ [2, 3, 5, 7].∪ [3, 5, 7, 9] # Union
85
+ [2, 3, 5, 7].⊂ [3, 5, 7, 9] # Subset of
86
+ [2, 3, 5, 7].⊃ [3, 5, 7, 9] # Superset of
87
+ [2, 3, 5, 7].∈ [3, 5, 7, 9] # Belongs to
88
+ [2, 3, 5, 7].∉ [3, 5, 7, 9] # Does not belong to
89
+ [2, 3, 5, 7].∅ # Empty set
90
+
86
91
  ### Factorial
87
92
 
88
93
  2.!
data/Rakefile CHANGED
@@ -1,7 +1,6 @@
1
1
  require 'bundler/gem_tasks'
2
2
  require 'rspec/core/rake_task'
3
3
 
4
- Bundler::GemHelper.install_tasks(name: 'unicode_math')
5
4
  RSpec::Core::RakeTask.new
6
5
 
7
6
  task :default => :spec
@@ -11,9 +11,31 @@ module UnicodeMath
11
11
  define_method('∪') do |set|
12
12
  self | set
13
13
  end
14
+
15
+ define_method('⊂') do |set|
16
+ ((set.∩ self) == self)
17
+ end
18
+
19
+ define_method('⊃') do |set|
20
+ ((self.∩ set) == set)
21
+ end
22
+
23
+ define_method('∈') do |set|
24
+ (self.∩ set) == self
25
+ end
26
+
27
+ define_method('∉') do |set|
28
+ !((self.∩ set) == self)
29
+ end
30
+
31
+ define_method('∅') do
32
+ self.empty?
33
+ end
34
+
14
35
  end
15
36
  end
16
37
  end
17
38
  end
18
39
 
19
40
  Array.send(:include, UnicodeMath::Set)
41
+
@@ -1,3 +1,3 @@
1
1
  module UnicodeMath
2
- VERSION = "1.4.0"
2
+ VERSION = "1.5.0"
3
3
  end
@@ -6,6 +6,8 @@ describe UnicodeMath::Set do
6
6
  before do
7
7
  @primes = [2, 3, 5, 7]
8
8
  @odd_nums = [3, 5, 7, 9]
9
+ @superset = [1,2,3,4,5]
10
+ @subset = [3,5]
9
11
  end
10
12
 
11
13
  it 'defines the intersection operator: ∩' do
@@ -17,4 +19,58 @@ describe UnicodeMath::Set do
17
19
  union = @primes.∪ @odd_nums
18
20
  expect(union).to eq([2, 3, 5, 7, 9])
19
21
  end
22
+
23
+ it 'defines subset A ⊂ B : true' do
24
+ subset = @subset.⊂ @superset
25
+ expect(subset).to eq(true)
26
+ end
27
+
28
+ it 'defines subset A ⊂ B : false' do
29
+ subset = @superset.⊂ @subset
30
+ expect(subset).to eq(false)
31
+ end
32
+
33
+ it 'defines superset A ⊃ B : false' do
34
+ subset = @subset.⊃ @superset
35
+ expect(subset).to eq(false)
36
+ end
37
+
38
+ it 'defines superset A ⊃ B : true' do
39
+ subset = @superset.⊃ @subset
40
+ expect(subset).to eq(true)
41
+ end
42
+
43
+ it 'defines A belongs to B, A ∈ B : false' do
44
+ belongs_to = @superset.∈ @subset
45
+ expect(belongs_to).to eq(false)
46
+ end
47
+
48
+ it 'defines A belongs to B, A ∈ B : true' do
49
+ belongs_to = @subset.∈ @superset
50
+ expect(belongs_to).to eq(true)
51
+ end
52
+
53
+ it 'defines A does not belong to B, A ∉ B : false' do
54
+ not_belongs_to = @subset.∉ @superset
55
+ #Does @subset does not belong to @primes ?
56
+ #True if it doesn't belong
57
+ expect(not_belongs_to).to eq(false)
58
+ end
59
+
60
+ it 'defines A does not belong to B, A ∉ B : true' do
61
+ not_belongs_to = @superset.∉ @subset
62
+ expect(not_belongs_to).to eq(true)
63
+ end
64
+
65
+ it 'defines A is empty' do
66
+ empty = @primes.∅
67
+ expect(empty).to eq(false)
68
+ end
69
+
70
+ it 'defines A is empty' do
71
+ empty = [].∅
72
+ expect(empty).to eq(true)
73
+ end
74
+
20
75
  end
76
+
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: unicode_math
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Collective Idea
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-27 00:00:00.000000000 Z
11
+ date: 2016-02-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake