rx 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (184) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +3 -0
  3. data/Gemfile +1 -1
  4. data/examples/aggregate.rb +3 -3
  5. data/examples/amb.rb +4 -4
  6. data/examples/ambproto.rb +3 -3
  7. data/examples/and.rb +4 -4
  8. data/examples/as_observable.rb +2 -2
  9. data/examples/average.rb +3 -3
  10. data/examples/buffer_with_count.rb +3 -3
  11. data/examples/buffer_with_time.rb +3 -3
  12. data/examples/case.rb +5 -5
  13. data/examples/catch.rb +4 -4
  14. data/examples/catchproto.rb +5 -5
  15. data/examples/combine_latest.rb +4 -4
  16. data/examples/combine_latestproto.rb +3 -3
  17. data/examples/concat.rb +4 -4
  18. data/examples/concat_all.rb +3 -3
  19. data/examples/concat_map.rb +4 -4
  20. data/examples/concat_map_observer.rb +5 -5
  21. data/examples/concatproto.rb +3 -3
  22. data/examples/connect.rb +3 -3
  23. data/examples/contains.rb +3 -3
  24. data/examples/count.rb +3 -3
  25. data/examples/create.rb +4 -4
  26. data/examples/debounce.rb +3 -3
  27. data/examples/default_if_empty.rb +3 -3
  28. data/examples/defer.rb +3 -3
  29. data/examples/delay.rb +3 -3
  30. data/examples/delay_with_selector.rb +6 -6
  31. data/examples/dematerialize.rb +4 -4
  32. data/examples/disposable.rb +3 -3
  33. data/examples/distinct.rb +3 -3
  34. data/examples/distinct_until_changed.rb +3 -3
  35. data/examples/do.rb +4 -4
  36. data/examples/empty.rb +2 -2
  37. data/examples/for.rb +3 -3
  38. data/examples/fork_join.rb +6 -6
  39. data/examples/from.rb +7 -7
  40. data/examples/from_array.rb +2 -2
  41. data/examples/from_callback.rb +2 -2
  42. data/examples/generate.rb +2 -2
  43. data/examples/group_join.rb +5 -5
  44. data/examples/if.rb +6 -6
  45. data/examples/intervals.rb +2 -2
  46. data/examples/merge.rb +4 -4
  47. data/examples/merge_all.rb +3 -3
  48. data/examples/multicast.rb +4 -4
  49. data/examples/never.rb +2 -2
  50. data/examples/of.rb +2 -2
  51. data/examples/on_error_resume_next.rb +5 -5
  52. data/examples/pairs.rb +2 -2
  53. data/examples/publish.rb +5 -5
  54. data/examples/range.rb +2 -2
  55. data/examples/reduce.rb +2 -2
  56. data/examples/repeat.rb +2 -2
  57. data/examples/return.rb +2 -2
  58. data/examples/scan.rb +3 -3
  59. data/examples/start.rb +3 -3
  60. data/examples/throw.rb +3 -3
  61. data/examples/time_intervals.rb +2 -2
  62. data/examples/timer.rb +2 -2
  63. data/examples/timestamp.rb +2 -2
  64. data/examples/to_a.rb +2 -2
  65. data/examples/to_async.rb +2 -2
  66. data/examples/using.rb +3 -3
  67. data/examples/when.rb +4 -4
  68. data/examples/while.rb +3 -3
  69. data/examples/window_with_time.rb +3 -3
  70. data/examples/zip.rb +3 -3
  71. data/examples/zip_array.rb +3 -3
  72. data/lib/core_ext/enumerable.rb +3 -3
  73. data/lib/{rx_ruby.rb → rx.rb} +11 -11
  74. data/lib/{rx_ruby → rx}/concurrency/async_lock.rb +1 -1
  75. data/lib/{rx_ruby → rx}/concurrency/current_thread_scheduler.rb +6 -6
  76. data/lib/{rx_ruby → rx}/concurrency/default_scheduler.rb +8 -8
  77. data/lib/{rx_ruby → rx}/concurrency/historical_scheduler.rb +3 -3
  78. data/lib/{rx_ruby → rx}/concurrency/immediate_scheduler.rb +4 -4
  79. data/lib/{rx_ruby → rx}/concurrency/local_scheduler.rb +3 -3
  80. data/lib/{rx_ruby → rx}/concurrency/periodic_scheduler.rb +1 -1
  81. data/lib/{rx_ruby → rx}/concurrency/scheduled_item.rb +2 -2
  82. data/lib/{rx_ruby → rx}/concurrency/scheduler.rb +1 -1
  83. data/lib/{rx_ruby → rx}/concurrency/virtual_time_scheduler.rb +4 -4
  84. data/lib/{rx_ruby → rx}/core/async_lock_observer.rb +4 -4
  85. data/lib/{rx_ruby → rx}/core/auto_detach_observer.rb +4 -4
  86. data/lib/{rx_ruby → rx}/core/checked_observer.rb +2 -2
  87. data/lib/{rx_ruby → rx}/core/notification.rb +3 -3
  88. data/lib/{rx_ruby → rx}/core/observable.rb +6 -6
  89. data/lib/{rx_ruby → rx}/core/observe_on_observer.rb +2 -2
  90. data/lib/{rx_ruby → rx}/core/observer.rb +1 -1
  91. data/lib/{rx_ruby → rx}/core/scheduled_observer.rb +3 -3
  92. data/lib/{rx_ruby → rx}/core/synchronized_observer.rb +3 -3
  93. data/lib/{rx_ruby → rx}/core/time_interval.rb +1 -1
  94. data/lib/{rx_ruby → rx}/internal/priority_queue.rb +1 -1
  95. data/lib/{rx_ruby → rx}/internal/util.rb +1 -1
  96. data/lib/{rx_ruby → rx}/joins/active_plan.rb +1 -1
  97. data/lib/{rx_ruby → rx}/joins/join_observer.rb +1 -1
  98. data/lib/{rx_ruby → rx}/joins/pattern.rb +1 -1
  99. data/lib/{rx_ruby → rx}/joins/plan.rb +1 -1
  100. data/lib/{rx_ruby → rx}/linq/connectable_observable.rb +1 -1
  101. data/lib/{rx_ruby → rx}/linq/observable/_observable_timer_date_and_period.rb +1 -1
  102. data/lib/{rx_ruby → rx}/linq/observable/_observable_timer_time_span.rb +1 -1
  103. data/lib/{rx_ruby → rx}/linq/observable/_observable_timer_time_span_and_period.rb +1 -1
  104. data/lib/{rx_ruby → rx}/linq/observable/aggregate.rb +2 -2
  105. data/lib/{rx_ruby → rx}/linq/observable/and.rb +1 -1
  106. data/lib/{rx_ruby → rx}/linq/observable/case.rb +1 -1
  107. data/lib/{rx_ruby → rx}/linq/observable/concat_all.rb +1 -1
  108. data/lib/{rx_ruby → rx}/linq/observable/concat_map.rb +1 -1
  109. data/lib/{rx_ruby → rx}/linq/observable/concat_map_observer.rb +1 -1
  110. data/lib/{rx_ruby → rx}/linq/observable/contains.rb +1 -1
  111. data/lib/{rx_ruby → rx}/linq/observable/debounce.rb +1 -1
  112. data/lib/{rx_ruby → rx}/linq/observable/delay.rb +1 -1
  113. data/lib/{rx_ruby → rx}/linq/observable/delay_with_selector.rb +1 -1
  114. data/lib/{rx_ruby → rx}/linq/observable/do.rb +1 -1
  115. data/lib/{rx_ruby → rx}/linq/observable/for.rb +1 -1
  116. data/lib/{rx_ruby → rx}/linq/observable/fork_join.rb +1 -1
  117. data/lib/{rx_ruby → rx}/linq/observable/from.rb +1 -1
  118. data/lib/{rx_ruby → rx}/linq/observable/group_join.rb +1 -1
  119. data/lib/{rx_ruby → rx}/linq/observable/if.rb +1 -1
  120. data/lib/rx/linq/observable/interval.rb +5 -0
  121. data/lib/{rx_ruby → rx}/linq/observable/multicast.rb +1 -1
  122. data/lib/{rx_ruby → rx}/linq/observable/of.rb +1 -1
  123. data/lib/{rx_ruby → rx}/linq/observable/pairs.rb +1 -1
  124. data/lib/{rx_ruby → rx}/linq/observable/pluck.rb +1 -1
  125. data/lib/{rx_ruby → rx}/linq/observable/publish.rb +1 -1
  126. data/lib/{rx_ruby → rx}/linq/observable/start.rb +1 -1
  127. data/lib/{rx_ruby → rx}/linq/observable/time_interval.rb +1 -1
  128. data/lib/{rx_ruby → rx}/linq/observable/timer.rb +1 -1
  129. data/lib/{rx_ruby → rx}/linq/observable/timestamp.rb +1 -1
  130. data/lib/{rx_ruby → rx}/linq/observable/to_async.rb +1 -1
  131. data/lib/{rx_ruby → rx}/linq/observable/when.rb +1 -1
  132. data/lib/{rx_ruby → rx}/linq/observable/while.rb +1 -1
  133. data/lib/{rx_ruby → rx}/operators/aggregates.rb +31 -31
  134. data/lib/{rx_ruby → rx}/operators/creation.rb +6 -6
  135. data/lib/{rx_ruby → rx}/operators/multiple.rb +22 -23
  136. data/lib/{rx_ruby → rx}/operators/single.rb +14 -14
  137. data/lib/{rx_ruby → rx}/operators/standard_query_operators.rb +6 -6
  138. data/lib/{rx_ruby → rx}/operators/synchronization.rb +8 -8
  139. data/lib/{rx_ruby → rx}/operators/time.rb +12 -12
  140. data/lib/{rx_ruby → rx}/subjects/async_subject.rb +4 -4
  141. data/lib/{rx_ruby → rx}/subjects/behavior_subject.rb +3 -3
  142. data/lib/{rx_ruby → rx}/subjects/replay_subject.rb +5 -5
  143. data/lib/{rx_ruby → rx}/subjects/subject.rb +4 -4
  144. data/lib/{rx_ruby → rx}/subjects/subject_extensions.rb +3 -3
  145. data/lib/{rx_ruby → rx}/subscriptions/composite_subscription.rb +1 -1
  146. data/lib/{rx_ruby → rx}/subscriptions/ref_count_subscription.rb +2 -2
  147. data/lib/{rx_ruby → rx}/subscriptions/scheduled_subscription.rb +1 -1
  148. data/lib/{rx_ruby → rx}/subscriptions/serial_subscription.rb +1 -1
  149. data/lib/{rx_ruby → rx}/subscriptions/single_assignment_subscription.rb +1 -1
  150. data/lib/{rx_ruby → rx}/subscriptions/subscription.rb +1 -1
  151. data/lib/{rx_ruby → rx}/testing/cold_observable.rb +4 -4
  152. data/lib/{rx_ruby → rx}/testing/hot_observable.rb +4 -4
  153. data/lib/{rx_ruby → rx}/testing/mock_observer.rb +4 -4
  154. data/lib/{rx_ruby → rx}/testing/reactive_test.rb +3 -3
  155. data/lib/{rx_ruby → rx}/testing/recorded.rb +1 -1
  156. data/lib/{rx_ruby → rx}/testing/test_scheduler.rb +8 -8
  157. data/lib/{rx_ruby → rx}/testing/test_subscription.rb +1 -1
  158. data/lib/rx/version.rb +3 -0
  159. data/readme.md +19 -19
  160. data/{rx_ruby.gemspec → rx.gemspec} +2 -2
  161. data/test/{rx_ruby → rx}/concurrency/helpers/historical_virtual_scheduler_helper.rb +0 -0
  162. data/test/{rx_ruby → rx}/concurrency/helpers/immediate_local_scheduler_helper.rb +0 -0
  163. data/test/{rx_ruby → rx}/concurrency/test_async_lock.rb +1 -1
  164. data/test/{rx_ruby → rx}/concurrency/test_current_thread_scheduler.rb +3 -3
  165. data/test/{rx_ruby → rx}/concurrency/test_default_scheduler.rb +1 -1
  166. data/test/{rx_ruby → rx}/concurrency/test_historical_scheduler.rb +3 -3
  167. data/test/{rx_ruby → rx}/concurrency/test_immediate_scheduler.rb +2 -2
  168. data/test/{rx_ruby → rx}/concurrency/test_local_scheduler.rb +2 -2
  169. data/test/{rx_ruby → rx}/concurrency/test_periodic_scheduler.rb +1 -1
  170. data/test/{rx_ruby → rx}/concurrency/test_scheduled_item.rb +4 -4
  171. data/test/{rx_ruby → rx}/concurrency/test_scheduler.rb +2 -2
  172. data/test/{rx_ruby → rx}/concurrency/test_virtual_time_scheduler.rb +2 -2
  173. data/test/{rx_ruby → rx}/core/test_notification.rb +20 -20
  174. data/test/{rx_ruby → rx}/core/test_observable_creation.rb +220 -63
  175. data/test/{rx_ruby → rx}/core/test_observer.rb +39 -39
  176. data/test/{rx_ruby → rx}/internal/test_priority_queue.rb +6 -6
  177. data/test/{rx_ruby → rx}/subscriptions/test_composite_subscription.rb +20 -20
  178. data/test/{rx_ruby → rx}/subscriptions/test_serial_subscription.rb +9 -9
  179. data/test/{rx_ruby → rx}/subscriptions/test_singleassignment_subscription.rb +8 -8
  180. data/test/{rx_ruby → rx}/subscriptions/test_subscription.rb +3 -3
  181. data/test/test_helper.rb +1 -1
  182. metadata +129 -129
  183. data/lib/rx_ruby/linq/observable/interval.rb +0 -5
  184. data/lib/rx_ruby/version.rb +0 -3
@@ -4,7 +4,7 @@ require 'test_helper'
4
4
 
5
5
  class TestAsyncLock < Minitest::Test
6
6
  def setup
7
- @lock = RxRuby::AsyncLock.new
7
+ @lock = Rx::AsyncLock.new
8
8
  end
9
9
 
10
10
  def test_simple_wait
@@ -1,18 +1,18 @@
1
1
  # Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
2
2
 
3
3
  require 'test_helper'
4
- require 'rx_ruby/concurrency/helpers/immediate_local_scheduler_helper'
4
+ require 'rx/concurrency/helpers/immediate_local_scheduler_helper'
5
5
 
6
6
 
7
7
  class TestCurrentThreadScheduler < Minitest::Test
8
8
  include ImmediateLocalSchedulerTestHelper
9
9
 
10
10
  def setup
11
- @scheduler = RxRuby::CurrentThreadScheduler.instance
11
+ @scheduler = Rx::CurrentThreadScheduler.instance
12
12
  end
13
13
 
14
14
  def test_schedule_required
15
- assert_equal(true, RxRuby::CurrentThreadScheduler.schedule_required?)
15
+ assert_equal(true, Rx::CurrentThreadScheduler.schedule_required?)
16
16
  end
17
17
 
18
18
  def test_schedule
@@ -8,7 +8,7 @@ require 'test_helper'
8
8
  class TestDefaultScheduler < Minitest::Test
9
9
 
10
10
  def setup
11
- @scheduler = RxRuby::DefaultScheduler.instance
11
+ @scheduler = Rx::DefaultScheduler.instance
12
12
  end
13
13
 
14
14
  def test_schedule_with_state
@@ -1,18 +1,18 @@
1
1
  # Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
2
2
 
3
3
  require 'test_helper'
4
- require 'rx_ruby/concurrency/helpers/historical_virtual_scheduler_helper'
4
+ require 'rx/concurrency/helpers/historical_virtual_scheduler_helper'
5
5
 
6
6
  class TestHistoricalScheduler < Minitest::Test
7
7
  include HistoricalVirtualSchedulerTestHelper
8
8
 
9
9
  def setup
10
10
  @start = Time.at(1000)
11
- @scheduler = RxRuby::HistoricalScheduler.new(@start)
11
+ @scheduler = Rx::HistoricalScheduler.new(@start)
12
12
  end
13
13
 
14
14
  def test_initialization
15
15
  assert_equal(Time.at(1000), @scheduler.now)
16
- assert_equal(Time.at(0), RxRuby::HistoricalScheduler.new.now)
16
+ assert_equal(Time.at(0), Rx::HistoricalScheduler.new.now)
17
17
  end
18
18
  end
@@ -1,13 +1,13 @@
1
1
  # Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
2
2
 
3
3
  require 'test_helper'
4
- require 'rx_ruby/concurrency/helpers/immediate_local_scheduler_helper'
4
+ require 'rx/concurrency/helpers/immediate_local_scheduler_helper'
5
5
 
6
6
  class TestImmediateScheduler < Minitest::Test
7
7
  include ImmediateLocalSchedulerTestHelper
8
8
 
9
9
  def setup
10
- @scheduler = RxRuby::ImmediateScheduler.instance
10
+ @scheduler = Rx::ImmediateScheduler.instance
11
11
  end
12
12
 
13
13
  def test_now
@@ -1,12 +1,12 @@
1
1
  # Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
2
2
 
3
3
  require 'test_helper'
4
- require 'rx_ruby/concurrency/helpers/immediate_local_scheduler_helper'
4
+ require 'rx/concurrency/helpers/immediate_local_scheduler_helper'
5
5
 
6
6
  class TestLocalcheduler < Minitest::Test
7
7
  include ImmediateLocalSchedulerTestHelper
8
8
 
9
9
  def setup
10
- @scheduler = RxRuby::LocalScheduler.new
10
+ @scheduler = Rx::LocalScheduler.new
11
11
  end
12
12
  end
@@ -3,7 +3,7 @@
3
3
  require 'test_helper'
4
4
 
5
5
  class PeriodicTestClass
6
- include RxRuby::PeriodicScheduler
6
+ include Rx::PeriodicScheduler
7
7
  end
8
8
 
9
9
  class TestPeriodicScheduler < Minitest::Test
@@ -9,7 +9,7 @@ class TestScheduledItem < Minitest::Test
9
9
 
10
10
  def setup
11
11
  @state = []
12
- @item = RxRuby::ScheduledItem.new(DummyScheduler.new, @state, 5) do |_, state|
12
+ @item = Rx::ScheduledItem.new(DummyScheduler.new, @state, 5) do |_, state|
13
13
  state << 1
14
14
  end
15
15
  end
@@ -21,9 +21,9 @@ class TestScheduledItem < Minitest::Test
21
21
  end
22
22
 
23
23
  def test_invocation
24
- less = RxRuby::ScheduledItem.new(DummyScheduler.new, @state, 0)
25
- more = RxRuby::ScheduledItem.new(DummyScheduler.new, @state, 10)
26
- same = RxRuby::ScheduledItem.new(DummyScheduler.new, @state, 5)
24
+ less = Rx::ScheduledItem.new(DummyScheduler.new, @state, 0)
25
+ more = Rx::ScheduledItem.new(DummyScheduler.new, @state, 10)
26
+ same = Rx::ScheduledItem.new(DummyScheduler.new, @state, 5)
27
27
 
28
28
  assert(less < @item)
29
29
  assert(more > @item)
@@ -4,7 +4,7 @@ require 'thread'
4
4
  require 'test_helper'
5
5
 
6
6
  class MyScheduler
7
- include RxRuby::Scheduler
7
+ include Rx::Scheduler
8
8
 
9
9
  attr_reader :now
10
10
  attr_accessor :wait_cycles
@@ -41,7 +41,7 @@ class TestBaseScheduler < Minitest::Test
41
41
  end
42
42
 
43
43
  def test_now
44
- assert_equal(Time.now.to_i, RxRuby::Scheduler.now.to_i)
44
+ assert_equal(Time.now.to_i, Rx::Scheduler.now.to_i)
45
45
  end
46
46
 
47
47
  def test_schedule_absolute
@@ -1,7 +1,7 @@
1
1
  # Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
2
2
 
3
3
  require 'test_helper'
4
- require 'rx_ruby/concurrency/helpers/historical_virtual_scheduler_helper'
4
+ require 'rx/concurrency/helpers/historical_virtual_scheduler_helper'
5
5
 
6
6
  class TestVirtualTimeScheduler < Minitest::Test
7
7
 
@@ -9,6 +9,6 @@ class TestVirtualTimeScheduler < Minitest::Test
9
9
 
10
10
  def setup
11
11
  @start = Time.now.to_i
12
- @scheduler = RxRuby::VirtualTimeScheduler.new(@start)
12
+ @scheduler = Rx::VirtualTimeScheduler.new(@start)
13
13
  end
14
14
  end
@@ -3,23 +3,23 @@
3
3
  require 'test_helper'
4
4
 
5
5
  class TestNotification < Minitest::Test
6
- include RxRuby::ReactiveTest
6
+ include Rx::ReactiveTest
7
7
 
8
8
  def test_to_observable_empty
9
- scheduler = RxRuby::TestScheduler.new
9
+ scheduler = Rx::TestScheduler.new
10
10
 
11
11
  res = scheduler.configure do
12
- RxRuby::Notification.create_on_completed.to_observable(scheduler)
12
+ Rx::Notification.create_on_completed.to_observable(scheduler)
13
13
  end
14
14
 
15
15
  assert_messages [on_completed(201)], res.messages
16
16
  end
17
17
 
18
18
  def test_to_observable_just
19
- scheduler = RxRuby::TestScheduler.new
19
+ scheduler = Rx::TestScheduler.new
20
20
 
21
21
  res = scheduler.configure do
22
- RxRuby::Notification.create_on_next(42).to_observable(scheduler)
22
+ Rx::Notification.create_on_next(42).to_observable(scheduler)
23
23
  end
24
24
 
25
25
  assert_messages [on_next(201, 42), on_completed(201)], res.messages
@@ -27,19 +27,19 @@ class TestNotification < Minitest::Test
27
27
 
28
28
  def test_to_observable_raise
29
29
  err = RuntimeError.new
30
- scheduler = RxRuby::TestScheduler.new
30
+ scheduler = Rx::TestScheduler.new
31
31
 
32
32
  res = scheduler.configure do
33
- RxRuby::Notification.create_on_error(err).to_observable(scheduler)
33
+ Rx::Notification.create_on_error(err).to_observable(scheduler)
34
34
  end
35
35
 
36
36
  assert_messages [on_error(201, err)], res.messages
37
37
  end
38
38
 
39
39
  def test_notification_equality
40
- n = RxRuby::Notification.create_on_next(42)
41
- e = RxRuby::Notification.create_on_error(RuntimeError.new)
42
- c = RxRuby::Notification.create_on_completed
40
+ n = Rx::Notification.create_on_next(42)
41
+ e = Rx::Notification.create_on_error(RuntimeError.new)
42
+ c = Rx::Notification.create_on_completed
43
43
 
44
44
  n1 = n
45
45
  n2 = n
@@ -58,7 +58,7 @@ class TestNotification < Minitest::Test
58
58
  end
59
59
 
60
60
  def test_on_next_initialize
61
- n = RxRuby::Notification.create_on_next(42)
61
+ n = Rx::Notification.create_on_next(42)
62
62
 
63
63
  assert n.on_next?
64
64
  assert n.has_value?
@@ -66,10 +66,10 @@ class TestNotification < Minitest::Test
66
66
  end
67
67
 
68
68
  def test_on_next_equality
69
- n1 = RxRuby::Notification.create_on_next(42)
70
- n2 = RxRuby::Notification.create_on_next(42)
71
- n3 = RxRuby::Notification.create_on_next(24)
72
- n4 = RxRuby::Notification.create_on_completed
69
+ n1 = Rx::Notification.create_on_next(42)
70
+ n2 = Rx::Notification.create_on_next(42)
71
+ n3 = Rx::Notification.create_on_next(24)
72
+ n4 = Rx::Notification.create_on_completed
73
73
 
74
74
  assert(n1.eql? n1)
75
75
  assert(n1.eql? n2)
@@ -80,7 +80,7 @@ class TestNotification < Minitest::Test
80
80
  end
81
81
 
82
82
  def test_on_next_to_s
83
- n = RxRuby::Notification.create_on_next(42)
83
+ n = Rx::Notification.create_on_next(42)
84
84
  s = n.to_s
85
85
 
86
86
  assert (s.include? '42')
@@ -88,10 +88,10 @@ class TestNotification < Minitest::Test
88
88
  end
89
89
 
90
90
  class AcceptObserver
91
- include RxRuby::Observer
91
+ include Rx::Observer
92
92
 
93
93
  def initialize
94
- @config = RxRuby::ObserverConfiguration.new
94
+ @config = Rx::ObserverConfiguration.new
95
95
  yield @config
96
96
  end
97
97
 
@@ -111,7 +111,7 @@ class TestNotification < Minitest::Test
111
111
  class CheckOnNextObserver
112
112
  attr_reader :value
113
113
 
114
- include RxRuby::Observer
114
+ include Rx::Observer
115
115
 
116
116
  def on_next(value)
117
117
  @value = value
@@ -120,7 +120,7 @@ class TestNotification < Minitest::Test
120
120
 
121
121
  def test_on_next_accept
122
122
  con = CheckOnNextObserver.new
123
- n1 = RxRuby::Notification.create_on_next(42)
123
+ n1 = Rx::Notification.create_on_next(42)
124
124
  n1.accept(con)
125
125
 
126
126
  assert_equal 42, con.value
@@ -1,20 +1,20 @@
1
1
  # Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
2
2
 
3
- require 'test_helper'
3
+ require "#{File.dirname(__FILE__)}/../../test_helper"
4
4
 
5
5
  class TestObservableCreation < Minitest::Test
6
- include RxRuby::ReactiveTest
6
+ include Rx::ReactiveTest
7
7
 
8
8
  # Create Methods
9
9
 
10
10
  def test_create_next
11
- scheduler = RxRuby::TestScheduler.new
11
+ scheduler = Rx::TestScheduler.new
12
12
 
13
13
  res = scheduler.configure do
14
- RxRuby::Observable.create do |obs|
14
+ Rx::Observable.create do |obs|
15
15
  obs.on_next 1
16
16
  obs.on_next 2
17
- RxRuby::Subscription.empty
17
+ Rx::Subscription.empty
18
18
  end
19
19
  end
20
20
 
@@ -22,10 +22,10 @@ class TestObservableCreation < Minitest::Test
22
22
  end
23
23
 
24
24
  def test_create_next_nil
25
- scheduler = RxRuby::TestScheduler.new
25
+ scheduler = Rx::TestScheduler.new
26
26
 
27
27
  res = scheduler.configure do
28
- RxRuby::Observable.create do |obs|
28
+ Rx::Observable.create do |obs|
29
29
  obs.on_next 1
30
30
  obs.on_next 2
31
31
  nil
@@ -36,10 +36,10 @@ class TestObservableCreation < Minitest::Test
36
36
  end
37
37
 
38
38
  def test_create_completed
39
- scheduler = RxRuby::TestScheduler.new
39
+ scheduler = Rx::TestScheduler.new
40
40
 
41
41
  res = scheduler.configure do
42
- RxRuby::Observable.create do |obs|
42
+ Rx::Observable.create do |obs|
43
43
  obs.on_completed
44
44
  obs.on_next 100
45
45
  obs.on_error RuntimeError.new
@@ -53,10 +53,10 @@ class TestObservableCreation < Minitest::Test
53
53
 
54
54
  def test_create_error
55
55
  err = RuntimeError.new
56
- scheduler = RxRuby::TestScheduler.new
56
+ scheduler = Rx::TestScheduler.new
57
57
 
58
58
  res = scheduler.configure do
59
- RxRuby::Observable.create do |obs|
59
+ Rx::Observable.create do |obs|
60
60
  obs.on_error err
61
61
  obs.on_next 100
62
62
  obs.on_error RuntimeError.new
@@ -69,11 +69,10 @@ class TestObservableCreation < Minitest::Test
69
69
  end
70
70
 
71
71
  def test_create_unsubscribe
72
- err = RuntimeError.new
73
- scheduler = RxRuby::TestScheduler.new
72
+ scheduler = Rx::TestScheduler.new
74
73
 
75
74
  res = scheduler.configure do
76
- RxRuby::Observable.create do |obs|
75
+ Rx::Observable.create do |obs|
77
76
  stopped = false
78
77
 
79
78
  obs.on_next 1
@@ -95,7 +94,7 @@ class TestObservableCreation < Minitest::Test
95
94
  obs.on_next 6 unless stopped
96
95
  })
97
96
 
98
- RxRuby::Subscription.create { stopped = true }
97
+ Rx::Subscription.create { stopped = true }
99
98
  end
100
99
  end
101
100
 
@@ -111,12 +110,12 @@ class TestObservableCreation < Minitest::Test
111
110
  def test_create_observer_raises
112
111
  assert_raises(RuntimeError) do
113
112
 
114
- observable = RxRuby::Observable.create do |obs|
113
+ observable = Rx::Observable.create do |obs|
115
114
  obs.on_next 1
116
115
  nil
117
116
  end
118
117
 
119
- observer = RxRuby::Observer.configure do |o|
118
+ observer = Rx::Observer.configure do |o|
120
119
  o.on_next {|x| raise RuntimeError.new }
121
120
  end
122
121
 
@@ -125,12 +124,12 @@ class TestObservableCreation < Minitest::Test
125
124
 
126
125
  assert_raises(RuntimeError) do
127
126
 
128
- observable = RxRuby::Observable.create do |obs|
127
+ observable = Rx::Observable.create do |obs|
129
128
  obs.on_error RuntimeError.new
130
129
  nil
131
130
  end
132
131
 
133
- observer = RxRuby::Observer.configure do |o|
132
+ observer = Rx::Observer.configure do |o|
134
133
  o.on_error {|err| raise RuntimeError.new }
135
134
  end
136
135
 
@@ -139,12 +138,12 @@ class TestObservableCreation < Minitest::Test
139
138
 
140
139
  assert_raises(RuntimeError) do
141
140
 
142
- observable = RxRuby::Observable.create do |obs|
141
+ observable = Rx::Observable.create do |obs|
143
142
  obs.on_completed
144
143
  nil
145
144
  end
146
145
 
147
- observer = RxRuby::Observer.configure do |o|
146
+ observer = Rx::Observer.configure do |o|
148
147
  o.on_completed { raise RuntimeError.new }
149
148
  end
150
149
 
@@ -155,13 +154,13 @@ class TestObservableCreation < Minitest::Test
155
154
  # Defer Method tests
156
155
 
157
156
  def test_defer_complete
158
- scheduler = RxRuby::TestScheduler.new
157
+ scheduler = Rx::TestScheduler.new
159
158
 
160
159
  invoked = 0
161
160
  xs = nil
162
161
 
163
162
  res = scheduler.configure do
164
- RxRuby::Observable.defer do
163
+ Rx::Observable.defer do
165
164
  invoked += 1
166
165
 
167
166
  xs = scheduler.create_cold_observable(
@@ -181,14 +180,14 @@ class TestObservableCreation < Minitest::Test
181
180
  end
182
181
 
183
182
  def test_defer_error
184
- scheduler = RxRuby::TestScheduler.new
183
+ scheduler = Rx::TestScheduler.new
185
184
 
186
185
  invoked = 0
187
186
  xs = nil
188
187
  err = RuntimeError.new
189
188
 
190
189
  res = scheduler.configure do
191
- RxRuby::Observable.defer do
190
+ Rx::Observable.defer do
192
191
  invoked += 1
193
192
 
194
193
  xs = scheduler.create_cold_observable(
@@ -208,13 +207,13 @@ class TestObservableCreation < Minitest::Test
208
207
  end
209
208
 
210
209
  def test_defer_unsubscribe
211
- scheduler = RxRuby::TestScheduler.new
210
+ scheduler = Rx::TestScheduler.new
212
211
 
213
212
  invoked = 0
214
213
  xs = nil
215
214
 
216
215
  res = scheduler.configure do
217
- RxRuby::Observable.defer do
216
+ Rx::Observable.defer do
218
217
  invoked += 1
219
218
 
220
219
  xs = scheduler.create_cold_observable(
@@ -235,13 +234,13 @@ class TestObservableCreation < Minitest::Test
235
234
  end
236
235
 
237
236
  def test_defer_raise
238
- scheduler = RxRuby::TestScheduler.new
237
+ scheduler = Rx::TestScheduler.new
239
238
 
240
239
  invoked = 0
241
240
  err = RuntimeError.new
242
241
 
243
242
  res = scheduler.configure do
244
- RxRuby::Observable.defer do
243
+ Rx::Observable.defer do
245
244
  invoked += 1
246
245
  raise err
247
246
  end
@@ -256,10 +255,10 @@ class TestObservableCreation < Minitest::Test
256
255
  # Empty methods
257
256
 
258
257
  def test_empty_basic
259
- scheduler = RxRuby::TestScheduler.new
258
+ scheduler = Rx::TestScheduler.new
260
259
 
261
260
  res = scheduler.configure do
262
- RxRuby::Observable.empty(scheduler)
261
+ Rx::Observable.empty(scheduler)
263
262
  end
264
263
 
265
264
  msgs = [on_completed(201)]
@@ -267,10 +266,10 @@ class TestObservableCreation < Minitest::Test
267
266
  end
268
267
 
269
268
  def test_empty_disposed
270
- scheduler = RxRuby::TestScheduler.new
269
+ scheduler = Rx::TestScheduler.new
271
270
 
272
271
  res = scheduler.configure({:disposed => 200}) do
273
- RxRuby::Observable.empty(scheduler)
272
+ Rx::Observable.empty(scheduler)
274
273
  end
275
274
 
276
275
  msgs = []
@@ -278,11 +277,11 @@ class TestObservableCreation < Minitest::Test
278
277
  end
279
278
 
280
279
  def test_empty_observer_raises
281
- scheduler = RxRuby::TestScheduler.new
280
+ scheduler = Rx::TestScheduler.new
282
281
 
283
- xs = RxRuby::Observable.empty(scheduler)
282
+ xs = Rx::Observable.empty(scheduler)
284
283
 
285
- observer = RxRuby::Observer.configure do |obs|
284
+ observer = Rx::Observer.configure do |obs|
286
285
  obs.on_completed { raise RuntimeError.new }
287
286
  end
288
287
 
@@ -294,10 +293,10 @@ class TestObservableCreation < Minitest::Test
294
293
  # Generate methods
295
294
 
296
295
  def test_generate_finite
297
- scheduler = RxRuby::TestScheduler.new
296
+ scheduler = Rx::TestScheduler.new
298
297
 
299
298
  res = scheduler.configure do
300
- RxRuby::Observable.generate(
299
+ Rx::Observable.generate(
301
300
  0,
302
301
  lambda { |x| return x <= 3 },
303
302
  lambda { |x| return x + 1 },
@@ -316,11 +315,11 @@ class TestObservableCreation < Minitest::Test
316
315
  end
317
316
 
318
317
  def test_generate_condition_raise
319
- scheduler = RxRuby::TestScheduler.new
318
+ scheduler = Rx::TestScheduler.new
320
319
  err = RuntimeError.new
321
320
 
322
321
  res = scheduler.configure do
323
- RxRuby::Observable.generate(
322
+ Rx::Observable.generate(
324
323
  0,
325
324
  lambda { |x| raise err },
326
325
  lambda { |x| return x + 1 },
@@ -335,11 +334,11 @@ class TestObservableCreation < Minitest::Test
335
334
  end
336
335
 
337
336
  def test_generate_raise_result_selector
338
- scheduler = RxRuby::TestScheduler.new
337
+ scheduler = Rx::TestScheduler.new
339
338
  err = RuntimeError.new
340
339
 
341
340
  res = scheduler.configure do
342
- RxRuby::Observable.generate(
341
+ Rx::Observable.generate(
343
342
  0,
344
343
  lambda { |x| return true },
345
344
  lambda { |x| return x + 1 },
@@ -354,11 +353,11 @@ class TestObservableCreation < Minitest::Test
354
353
  end
355
354
 
356
355
  def test_generate_raise_iterate
357
- scheduler = RxRuby::TestScheduler.new
356
+ scheduler = Rx::TestScheduler.new
358
357
  err = RuntimeError.new
359
358
 
360
359
  res = scheduler.configure do
361
- RxRuby::Observable.generate(
360
+ Rx::Observable.generate(
362
361
  0,
363
362
  lambda { |x| return true },
364
363
  lambda { |x| raise err },
@@ -374,10 +373,10 @@ class TestObservableCreation < Minitest::Test
374
373
  end
375
374
 
376
375
  def test_generate_dispose
377
- scheduler = RxRuby::TestScheduler.new
376
+ scheduler = Rx::TestScheduler.new
378
377
 
379
378
  res = scheduler.configure(:disposed => 203) do
380
- RxRuby::Observable.generate(
379
+ Rx::Observable.generate(
381
380
  0,
382
381
  lambda { |x| return x <= 3 },
383
382
  lambda { |x| return x + 1 },
@@ -395,10 +394,10 @@ class TestObservableCreation < Minitest::Test
395
394
  # Never methods
396
395
 
397
396
  def test_never_basic
398
- scheduler = RxRuby::TestScheduler.new
397
+ scheduler = Rx::TestScheduler.new
399
398
 
400
399
  res = scheduler.configure do
401
- RxRuby::Observable.never
400
+ Rx::Observable.never
402
401
  end
403
402
 
404
403
  msgs = []
@@ -408,10 +407,10 @@ class TestObservableCreation < Minitest::Test
408
407
  # Range methods
409
408
 
410
409
  def test_range_zero
411
- scheduler = RxRuby::TestScheduler.new
410
+ scheduler = Rx::TestScheduler.new
412
411
 
413
412
  res = scheduler.configure do
414
- RxRuby::Observable.range(0, 0, scheduler)
413
+ Rx::Observable.range(0, 0, scheduler)
415
414
  end
416
415
 
417
416
  msgs = [on_completed(201)]
@@ -419,10 +418,10 @@ class TestObservableCreation < Minitest::Test
419
418
  end
420
419
 
421
420
  def test_range_one
422
- scheduler = RxRuby::TestScheduler.new
421
+ scheduler = Rx::TestScheduler.new
423
422
 
424
423
  res = scheduler.configure do
425
- RxRuby::Observable.range(0, 1, scheduler)
424
+ Rx::Observable.range(0, 1, scheduler)
426
425
  end
427
426
 
428
427
  msgs = [on_next(201, 0), on_completed(202)]
@@ -430,10 +429,10 @@ class TestObservableCreation < Minitest::Test
430
429
  end
431
430
 
432
431
  def test_range_five
433
- scheduler = RxRuby::TestScheduler.new
432
+ scheduler = Rx::TestScheduler.new
434
433
 
435
434
  res = scheduler.configure do
436
- RxRuby::Observable.range(10, 5, scheduler)
435
+ Rx::Observable.range(10, 5, scheduler)
437
436
  end
438
437
 
439
438
  msgs = [
@@ -447,11 +446,11 @@ class TestObservableCreation < Minitest::Test
447
446
  assert_messages msgs, res.messages
448
447
  end
449
448
 
450
- def range_dispose
451
- scheduler = RxRuby::TestScheduler.new
449
+ def test_range_dispose
450
+ scheduler = Rx::TestScheduler.new
452
451
 
453
- res = scheduler.configure(:dispose => 204) do
454
- RxRuby::Observable.range(-10, 5, scheduler)
452
+ res = scheduler.configure(:disposed => 204) do
453
+ Rx::Observable.range(-10, 5, scheduler)
455
454
  end
456
455
 
457
456
  msgs = [
@@ -463,21 +462,179 @@ class TestObservableCreation < Minitest::Test
463
462
  end
464
463
 
465
464
  # Repeat methods
466
-
467
465
  =begin
466
+ # the clock is actually off, because of not using the `scheduler.schedule_recursive`
468
467
  def test_repeat_value_count_zero
469
- scheduler = RxRuby::TestScheduler.new
468
+ scheduler = Rx::TestScheduler.new
470
469
 
471
- res = scheduler.configure(:dispose => 204) do
472
- RxRuby::Observable.repeat(42, 0, scheduler)
470
+ res = scheduler.configure do
471
+ Rx::Observable.repeat(42, 0, scheduler)
473
472
  end
474
473
 
475
474
  msgs = [
476
475
  on_completed(201)
477
476
  ]
478
- assert_messages msgs, res.messages
477
+ assert_messages msgs, res.messages
478
+ end
479
+
480
+ def test_repeat_value_once
481
+ scheduler = Rx::TestScheduler.new
482
+
483
+ res = scheduler.configure do
484
+ Rx::Observable.repeat(42, 1, scheduler)
485
+ end
486
+
487
+ msgs = [
488
+ on_next(201, 42),
489
+ on_completed(202)
490
+ ]
491
+ assert_messages msgs, res.messages
479
492
  end
480
493
  =end
481
494
 
495
+ def test_repeat_infinitely_dispose
496
+ scheduler = Rx::TestScheduler.new
497
+
498
+ res = scheduler.configure(:disposed => 203) do
499
+ Rx::Observable.repeat_infinitely({a: 1}, scheduler)
500
+ end
501
+
502
+ msgs = [
503
+ on_next(201, {a: 1}),
504
+ on_next(202, {a: 1})
505
+ ]
506
+ assert_messages msgs, res.messages
507
+ end
508
+
509
+ # of_enumerable/of_enumerator
510
+ def test_of_enumerable_empty
511
+ scheduler = Rx::TestScheduler.new
512
+
513
+ res = scheduler.configure do
514
+ Rx::Observable.of_enumerable([], scheduler)
515
+ end
516
+
517
+ msgs = [
518
+ on_completed(201)
519
+ ]
520
+ assert_messages msgs, res.messages
521
+ end
522
+
523
+ def test_of_enumerable_simple
524
+ scheduler = Rx::TestScheduler.new
525
+
526
+ res = scheduler.configure do
527
+ Rx::Observable.of_enumerable(%w(foo bar baz), scheduler)
528
+ end
529
+
530
+ msgs = [
531
+ on_next(201, 'foo'),
532
+ on_next(202, 'bar'),
533
+ on_next(203, 'baz'),
534
+ on_completed(204)
535
+ ]
536
+ assert_messages msgs, res.messages
537
+ end
538
+
539
+
540
+ def test_of_enumerator_empty
541
+ scheduler = Rx::TestScheduler.new
542
+
543
+ res = scheduler.configure do
544
+ Rx::Observable.of_enumerator([].to_enum, scheduler)
545
+ end
546
+
547
+ msgs = [
548
+ on_completed(201)
549
+ ]
550
+ assert_messages msgs, res.messages
551
+ end
552
+
553
+ def test_of_enumerator_error
554
+ scheduler = Rx::TestScheduler.new
555
+ err = RuntimeError.new
556
+ fibs = Enumerator.new do |x|
557
+ a = b = 1
558
+ 6.times do
559
+ x << a
560
+ a, b = b, a + b
561
+ end
562
+ raise err
563
+ end
564
+ res = scheduler.configure do
565
+ Rx::Observable.of_enumerator(fibs, scheduler)
566
+ end
567
+
568
+ msgs = [
569
+ on_next(201, 1),
570
+ on_next(202, 1),
571
+ on_next(203, 2),
572
+ on_next(204, 3),
573
+ on_next(205, 5),
574
+ on_next(206, 8),
575
+ on_error(207, err)
576
+ ]
577
+ assert_messages msgs, res.messages
578
+ end
579
+
580
+ def test_of_enumerator_infinite_dispose
581
+ scheduler = Rx::TestScheduler.new
582
+
583
+ res = scheduler.configure(:disposed => 205) do
584
+ Rx::Observable.of_enumerator([42].cycle, scheduler)
585
+ end
586
+
587
+ msgs = [
588
+ on_next(201, 42),
589
+ on_next(202, 42),
590
+ on_next(203, 42),
591
+ on_next(204, 42)
592
+ ]
593
+ assert_messages msgs, res.messages
594
+ end
595
+
596
+ # from_array methods
597
+ def test_from_array_empty
598
+ scheduler = Rx::TestScheduler.new
482
599
 
600
+ res = scheduler.configure do
601
+ Rx::Observable.from_array([], scheduler)
602
+ end
603
+
604
+ msgs = [
605
+ on_completed(201)
606
+ ]
607
+ assert_messages msgs, res.messages
608
+ end
609
+
610
+ def test_from_array_simple
611
+ scheduler = Rx::TestScheduler.new
612
+
613
+ res = scheduler.configure do
614
+ Rx::Observable.from_array([1, 2, 3], scheduler)
615
+ end
616
+
617
+ msgs = [
618
+ on_next(201, 1),
619
+ on_next(202, 2),
620
+ on_next(203, 3),
621
+ on_completed(204)
622
+ ]
623
+ assert_messages msgs, res.messages
624
+ end
625
+
626
+ def test_from_array_complex_dispose
627
+ scheduler = Rx::TestScheduler.new
628
+
629
+ res = scheduler.configure(:disposed => 204) do
630
+ Rx::Observable.from_array([[], [[]], [[[]]], [[[[]]]]], scheduler)
631
+ end
632
+
633
+ msgs = [
634
+ on_next(201, []),
635
+ on_next(202, [[]]),
636
+ on_next(203, [[[]]])
637
+ ]
638
+ assert_messages msgs, res.messages
639
+ end
483
640
  end