rx 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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