Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit35c8a55

Browse files
committed
test: add CanCreateAndUseSubReducers_ExplicitLens test
1 parent1897852 commit35c8a55

File tree

3 files changed

+80
-7
lines changed

3 files changed

+80
-7
lines changed

‎ReduxSimple.Tests.Setup/ReusedStateStore/Selectors.cs‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ namespace ReduxSimple.Tests.Setup.ReusedStateStore
44
{
55
publicstaticclassSelectors
66
{
7-
publicstaticISelectorWithoutProps<RootState,NestedState?>SelectNested1=CreateSelector(
7+
publicstaticISelectorWithoutProps<RootState,NestedState>SelectNested1=CreateSelector(
88
(RootStatestate)=>state.Nested1
99
);
10-
publicstaticISelectorWithoutProps<RootState,NestedState?>SelectNested2=CreateSelector(
10+
publicstaticISelectorWithoutProps<RootState,NestedState>SelectNested2=CreateSelector(
1111
(RootStatestate)=>state.Nested2
1212
);
13-
publicstaticISelectorWithoutProps<RootState,NestedState?>SelectNested3=CreateSelector(
13+
publicstaticISelectorWithoutProps<RootState,NestedState>SelectNested3=CreateSelector(
1414
(RootStatestate)=>state.Nested3
1515
);
1616

‎ReduxSimple.Tests.Setup/ReusedStateStore/State.cs‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
{
33
publicclassRootState
44
{
5-
publicNestedState?Nested1{get;set;}
6-
publicNestedState?Nested2{get;set;}
7-
publicNestedState?Nested3{get;set;}
5+
publicNestedStateNested1{get;set;}=NestedState.InitialState;
6+
publicNestedStateNested2{get;set;}=NestedState.InitialState;
7+
publicNestedStateNested3{get;set;}=NestedState.InitialState;
88

99
publicstaticRootStateInitialState=>
1010
newRootState

‎ReduxSimple.Tests/ReusedStateStoreTest.cs‎

Lines changed: 74 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
usingReduxSimple.Tests.Setup.ReusedStateStore;
1+
usingConverto;
2+
usingReduxSimple.Tests.Setup.ReusedStateStore;
23
usingShouldly;
34
usingSystem;
45
usingSystem.Linq;
@@ -71,5 +72,77 @@ public void CanCreateAndUseSubReducers()
7172
lastResult2.ShouldBe(10);
7273
lastResult3.ShouldBe(10);
7374
}
75+
76+
[Fact]
77+
publicvoidCanCreateAndUseSubReducers_ExplicitLens()
78+
{
79+
// Arrange
80+
varreducers1=CreateSubReducers(
81+
SelectNested1,
82+
(state,nested)=>state.With(new{Nested1=nested})
83+
)
84+
.On<UpdateNumberAction>(
85+
(state,action)=>state.With(new{RandomNumber=action.Number})
86+
)
87+
.ToList();
88+
89+
varreducers2=CreateSubReducers(
90+
SelectNested2,
91+
(state,nested)=>state.With(new{Nested2=nested})
92+
)
93+
.On<UpdateNumberAction>(
94+
(state,action)=>state.With(new{RandomNumber=action.Number})
95+
)
96+
.ToList();
97+
98+
varreducers3=CreateSubReducers(
99+
SelectNested3,
100+
(state,nested)=>state.With(new{Nested3=nested})
101+
)
102+
.On<UpdateNumberAction>(
103+
(state,action)=>state.With(new{RandomNumber=action.Number})
104+
)
105+
.ToList();
106+
107+
varreducers=reducers1.Concat(reducers2).Concat(reducers3);
108+
109+
varstore=newRootStore(
110+
reducers,
111+
RootState.InitialState
112+
);
113+
114+
// Act
115+
intobserveCount=0;
116+
int?lastResult1=null;
117+
int?lastResult2=null;
118+
int?lastResult3=null;
119+
120+
store.Select(SelectRandomNumber1)
121+
.Subscribe(number=>
122+
{
123+
observeCount++;
124+
lastResult1=number;
125+
});
126+
store.Select(SelectRandomNumber2)
127+
.Subscribe(number=>
128+
{
129+
observeCount++;
130+
lastResult2=number;
131+
});
132+
store.Select(SelectRandomNumber3)
133+
.Subscribe(number=>
134+
{
135+
observeCount++;
136+
lastResult3=number;
137+
});
138+
139+
store.Dispatch(newUpdateNumberAction{Number=10});
140+
141+
// Assert
142+
observeCount.ShouldBe(6);
143+
lastResult1.ShouldBe(10);
144+
lastResult2.ShouldBe(10);
145+
lastResult3.ShouldBe(10);
146+
}
74147
}
75148
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp