[Bug]: Switch operator lacks support of virtualized changeset
メンテナーはふだん 1 日以内に返信
評価
調査の方向性
The report identifies IChangeSet<TObject, TKey, VirtualContext<TObject>> and includes a failing SwitchSet_Switch_Virtualized test, but names no file. Start by finding that test and the existing Switch operator overloads for changesets. The linked open pull request #1166 means work is already underway; check its status before attempting this issue.
索引モデルが issue の本文から書いたものです。
説明
Describe the bug 🐞
There is no Switch operator version for virtualized changesets IChangeSet<TObject, TKey, VirtualContext<TObject>>.
In this case default reactive Switch operator is used, so the test fails.
[Fact]
public void SwitchSet_Switch_Virtualized()
{
BehaviorSubject<bool> enableSubj = new(true);
SourceCache<int, int> cache = new(x => x);
cache.Edit(updater => updater.AddOrUpdate(Enumerable.Range(0, 100)));
SortExpressionComparer<int> comparer = SortExpressionComparer<int>.Ascending(x => x);
int count = 10;
IObservable<VirtualRequest> virtualReqStream
= Observable.Return(new VirtualRequest(0, count)).Concat(Observable.Never<VirtualRequest>());
IObservable<IChangeSet<int, int, VirtualContext<int>>> virtualizedChangeSet = cache.Connect()
.SortAndVirtualize(comparer, virtualReqStream);
IObservable<IChangeSet<int, int, VirtualContext<int>>> testStream = enableSubj
.Select(enable =>
{
if (!enable)
return Observable.Empty<IChangeSet<int, int, VirtualContext<int>>>();
return virtualizedChangeSet;
})
.Switch();
TestScheduler scheduler = new();
ITestableObserver<IChangeSet<int, int, VirtualContext<int>>> observer
= scheduler.CreateObserver<IChangeSet<int, int, VirtualContext<int>>>();
testStream.Subscribe(observer);
enableSubj.OnNext(false);
Assert.Collection(
observer.Messages,
msg =>
{
Assert.Equal(NotificationKind.OnNext, msg.Value.Kind);
Assert.Equal(count, msg.Value.Value.Adds);
Assert.Equal(0, msg.Value.Value.Removes);
},
msg =>
{
Assert.Equal(NotificationKind.OnNext, msg.Value.Kind);
Assert.Equal(0, msg.Value.Value.Adds);
Assert.Equal(count, msg.Value.Value.Removes);
}
);
}
DynamicData Version
9.4.33
- 主要言語
- C#
- スター
- 1.9k
- フォーク
- 194
- 平均マージ
- 12分
- マージ済み PR(30日)
- 1
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
reactivemarbles/DynamicData のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
reactivemarbles/DynamicData#1229 ·
メンテナーはふだん 1 日以内に返信
-
infrastructure
難易度 2/5 1〜3時間 初心者へのやさしさ 64/100
reactivemarbles/DynamicData#1089 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
[Bug]: ChangeAwareList merges an insert one slot before a pending AddRange, corrupting list order downstream対応中かも @dwcullop が 9 日前に担当しました。 オープンbug
難易度 3/5 半日 初心者へのやさしさ 63/100
reactivemarbles/DynamicData#1225 ·
メンテナーはふだん 1 日以内に返信
-
[Feature]: Make Avg, StdDev, Maximum and Minimum refresh-aware, consistent with Sum対応中かも @dwcullop が 14 日前に担当しました。 オープンbreaking change enhancement
難易度 5/5 1週間以上 初心者へのやさしさ 20/100
reactivemarbles/DynamicData#1214 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
reactivemarbles/DynamicData#1196 ·
メンテナーはふだん 1 日以内に返信
reactivemarbles/DynamicData の issue をすべて見る
似ている issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
immichFrame/ImmichFrame#735 ·
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
dimitar-radenkov/Pointframe#318 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
DotHarness/dotcraft#546 ·
メンテナーはふだん 1 日以内に返信
-
a-corriger bug
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
christian-raj/S-Aloha#303 · コメント 1 件 ·
-
Input editor says "Apply Changes" even when no changes have been made.対応中かも @hcooper が今日担当しました。 オープン
難易度 1/5 1時間未満 初心者へのやさしさ 72/100
MobiFlight/MobiFlight-Connector#3526 ·
メンテナーはふだん 1 日以内に返信