Skip to content

Commit 3a0d847

Browse files
author
Joel Schutz
committed
Updates tests
1 parent db9e258 commit 3a0d847

File tree

4 files changed

+55
-33
lines changed

4 files changed

+55
-33
lines changed

director_test.go

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@ type DirectidScene struct {
1010
MockScene
1111
}
1212

13-
func (m *DirectidScene) Load(state int, sm *SceneDirector[int]) {
13+
func (m *DirectidScene) Load(state int, sm SceneController[int]) {
1414
m.loadCalled = true
1515
m.unloadReturns = state
1616
}
1717

1818
func TestSceneDirector_NewSceneDirector(t *testing.T) {
1919
mockScene := &DirectidScene{}
20-
ruleSet := make(map[Scene[int, *SceneDirector[int]]][]Directive[int])
20+
ruleSet := make(map[Scene[int]][]Directive[int])
2121

2222
director := NewSceneDirector[int](mockScene, 1, ruleSet)
2323

@@ -28,7 +28,7 @@ func TestSceneDirector_NewSceneDirector(t *testing.T) {
2828
func TestSceneDirector_ProcessTrigger(t *testing.T) {
2929
mockScene := &DirectidScene{}
3030
mockScene2 := &DirectidScene{}
31-
ruleSet := make(map[Scene[int, *SceneDirector[int]]][]Directive[int])
31+
ruleSet := make(map[Scene[int]][]Directive[int])
3232

3333
director := NewSceneDirector[int](mockScene, 1, ruleSet)
3434

@@ -43,3 +43,25 @@ func TestSceneDirector_ProcessTrigger(t *testing.T) {
4343
director.ProcessTrigger(2)
4444
assert.Equal(t, rule.Dest, director.current)
4545
}
46+
47+
func TestSceneDirector_ProcessTriggerWiithTransition(t *testing.T) {
48+
mockScene := &DirectidScene{}
49+
mockTransition := &baseTransitionImplementation{}
50+
ruleSet := make(map[Scene[int]][]Directive[int])
51+
52+
director := NewSceneDirector[int](mockScene, 1, ruleSet)
53+
54+
rule := Directive[int]{Dest: &DirectidScene{}, Trigger: 2, Transition: mockTransition}
55+
ruleSet[mockScene] = []Directive[int]{rule}
56+
57+
// Call the ProcessTrigger method with wrong trigger
58+
director.ProcessTrigger(1)
59+
assert.NotEqual(t, rule.Transition, director.current)
60+
61+
// Call the ProcessTrigger method with correct trigger
62+
director.ProcessTrigger(2)
63+
assert.Equal(t, rule.Transition, director.current)
64+
65+
rule.Transition.End()
66+
assert.Equal(t, rule.Dest, director.current)
67+
}

helpers_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ func TestPreDraw(t *testing.T) {
3636
from := &MockScene{}
3737
to := &MockScene{}
3838

39-
toImg, fromImg := PreDraw[int, *SceneManager[int]](image.Rect(0, 0, 10, 10), from, to)
39+
toImg, fromImg := PreDraw[int](image.Rect(0, 0, 10, 10), from, to)
4040

4141
assert.True(t, from.drawCalled)
4242
assert.True(t, to.drawCalled)

scene_test.go

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ type MockScene struct {
1616
unloadReturns int
1717
}
1818

19-
func (m *MockScene) Load(state int, sm *SceneManager[int]) {
19+
func (m *MockScene) Load(state int, sm SceneController[int]) {
2020
m.loadCalled = true
2121
m.unloadReturns = state
2222
}
@@ -40,29 +40,29 @@ func (m *MockScene) Layout(w, h int) (int, int) {
4040
return w, h
4141
}
4242

43-
type MockTransition[T any, M SceneController[T]] struct {
44-
fromScene Scene[T, M]
45-
toScene Scene[T, M]
43+
type MockTransition[T any] struct {
44+
fromScene Scene[T]
45+
toScene Scene[T]
4646
startCalled bool
4747
}
4848

49-
func NewMockTransition[T any, M SceneController[T]]() *MockTransition[T, M] {
50-
return &MockTransition[T, M]{}
49+
func NewMockTransition[T any]() *MockTransition[T] {
50+
return &MockTransition[T]{}
5151
}
5252

53-
func (t *MockTransition[T, M]) Start(fromScene, toScene Scene[T, M], sm *SceneManager[T]) {
53+
func (t *MockTransition[T]) Start(fromScene, toScene Scene[T], sm SceneController[T]) {
5454
t.fromScene = fromScene
5555
t.toScene = toScene
5656
t.startCalled = true
5757
}
5858

59-
func (t *MockTransition[T, M]) End() {}
59+
func (t *MockTransition[T]) End() {}
6060

61-
func (t *MockTransition[T, M]) Update() error { return nil }
61+
func (t *MockTransition[T]) Update() error { return nil }
6262

63-
func (t *MockTransition[T, M]) Draw(screen *ebiten.Image) {}
63+
func (t *MockTransition[T]) Draw(screen *ebiten.Image) {}
6464

65-
func (t *MockTransition[T, M]) Layout(w, h int) (int, int) { return w, h }
65+
func (t *MockTransition[T]) Layout(w, h int) (int, int) { return w, h }
6666

6767
func TestSceneManager_SwitchTo(t *testing.T) {
6868
sm := NewSceneManager[int](&MockScene{}, 0)
@@ -75,7 +75,7 @@ func TestSceneManager_SwitchTo(t *testing.T) {
7575
func TestSceneManager_SwitchWithTransition(t *testing.T) {
7676
sm := NewSceneManager[int](&MockScene{}, 0)
7777
mockScene := &MockScene{}
78-
mockTransition := &MockTransition[int, *SceneManager[int]]{}
78+
mockTransition := &MockTransition[int]{}
7979
sm.SwitchWithTransition(mockScene, mockTransition)
8080
assert.True(t, mockTransition.startCalled)
8181
assert.True(t, sm.current == mockTransition)
@@ -117,5 +117,5 @@ func TestSceneManager_Load_Unload(t *testing.T) {
117117

118118
assert.True(t, to.loadCalled)
119119
assert.True(t, from.unloadCalled)
120-
assert.Equal(t, 42, sm.current.(Scene[int, *SceneManager[int]]).Unload())
120+
assert.Equal(t, 42, sm.current.(Scene[int]).Unload())
121121
}

transition_test.go

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ func (m *MockClock) Since(t time.Time) time.Duration { return m.currentTime.Sub(
1919
func (m *MockClock) Until(t time.Time) time.Duration { return t.Sub(m.currentTime) }
2020

2121
type baseTransitionImplementation struct {
22-
BaseTransition[int, *SceneManager[int]]
22+
BaseTransition[int]
2323
}
2424

2525
func (b *baseTransitionImplementation) Draw(screen *ebiten.Image) {}
@@ -30,12 +30,12 @@ type MockTransitionAwareScene struct {
3030
postTransitionCalled bool
3131
}
3232

33-
func (m *MockTransitionAwareScene) PreTransition(fromScene Scene[int, *SceneManager[int]]) int {
33+
func (m *MockTransitionAwareScene) PreTransition(fromScene Scene[int]) int {
3434
m.preTransitionCalled = true
3535
return 0
3636
}
3737

38-
func (m *MockTransitionAwareScene) PostTransition(state int, toScene Scene[int, *SceneManager[int]]) {
38+
func (m *MockTransitionAwareScene) PostTransition(state int, toScene Scene[int]) {
3939
m.postTransitionCalled = true
4040
}
4141

@@ -73,7 +73,7 @@ func TestBaseTransition_End(t *testing.T) {
7373
sm.SwitchWithTransition(to, trans)
7474
trans.End()
7575

76-
fmt.Println(sm.current.(Scene[int, *SceneManager[int]]), to)
76+
fmt.Println(sm.current.(Scene[int]), to)
7777
assert.Equal(t, to, sm.current)
7878
}
7979

@@ -108,7 +108,7 @@ func TestFadeTransition_UpdateOncePerFrame(t *testing.T) {
108108
var value float32 = .6
109109
from := &MockScene{}
110110
to := &MockScene{}
111-
trans := NewFadeTransition[int, *SceneManager[int]](value)
111+
trans := NewFadeTransition[int](value)
112112
trans.Start(from, to, nil)
113113

114114
err := trans.Update()
@@ -124,7 +124,7 @@ func TestFadeTransition_UpdateOncePerFrame(t *testing.T) {
124124
func TestFadeTransition_Update(t *testing.T) {
125125
from := &MockScene{}
126126
to := &MockScene{}
127-
trans := NewFadeTransition[int, *SceneManager[int]](.5)
127+
trans := NewFadeTransition[int](.5)
128128
sm := NewSceneManager[int](from, 0)
129129
sm.SwitchWithTransition(to, trans)
130130

@@ -159,7 +159,7 @@ func TestFadeTransition_Update(t *testing.T) {
159159
func TestFadeTransition_Start(t *testing.T) {
160160
from := &MockScene{}
161161
to := &MockScene{}
162-
trans := NewFadeTransition[int, *SceneManager[int]](.5)
162+
trans := NewFadeTransition[int](.5)
163163
trans.Start(from, to, nil)
164164

165165
assert.Equal(t, from, trans.fromScene)
@@ -171,7 +171,7 @@ func TestFadeTransition_Start(t *testing.T) {
171171
func TestFadeTransition_Draw(t *testing.T) {
172172
from := &MockScene{}
173173
to := &MockScene{}
174-
trans := NewFadeTransition[int, *SceneManager[int]](.5)
174+
trans := NewFadeTransition[int](.5)
175175
trans.Start(from, to, nil)
176176

177177
trans.Update()
@@ -187,7 +187,7 @@ func TestSlideTransition_UpdateOncePerFrame(t *testing.T) {
187187
var value float64 = .6
188188
from := &MockScene{}
189189
to := &MockScene{}
190-
trans := NewSlideTransition[int, *SceneManager[int]](RightToLeft, value)
190+
trans := NewSlideTransition[int](RightToLeft, value)
191191
trans.Start(from, to, nil)
192192

193193
err := trans.Update()
@@ -208,7 +208,7 @@ func TestSlideTransition_Update(t *testing.T) {
208208
}
209209

210210
for _, direction := range variations {
211-
trans := NewSlideTransition[int, *SceneManager[int]](direction, .5)
211+
trans := NewSlideTransition[int](direction, .5)
212212
sm := NewSceneManager[int](from, 0)
213213
sm.SwitchWithTransition(to, trans)
214214

@@ -234,7 +234,7 @@ func TestSlideTransition_Update(t *testing.T) {
234234
func TestSlideTransition_Start(t *testing.T) {
235235
from := &MockScene{}
236236
to := &MockScene{}
237-
trans := NewSlideTransition[int, *SceneManager[int]](TopToBottom, .5)
237+
trans := NewSlideTransition[int](TopToBottom, .5)
238238
trans.Start(from, to, nil)
239239

240240
assert.Equal(t, from, trans.fromScene)
@@ -251,7 +251,7 @@ func TestSlideTransition_Draw(t *testing.T) {
251251
}
252252

253253
for _, direction := range variations {
254-
trans := NewSlideTransition[int, *SceneManager[int]](direction, .5)
254+
trans := NewSlideTransition[int](direction, .5)
255255
trans.Start(from, to, nil)
256256

257257
trans.Update()
@@ -265,7 +265,7 @@ func TestTimedFadeTransition_Update(t *testing.T) {
265265
Clock = &MockClock{currentTime: now}
266266
from := &MockScene{}
267267
to := &MockScene{}
268-
trans := NewDurationTimedFadeTransition[int, *SceneManager[int]](time.Second)
268+
trans := NewDurationTimedFadeTransition[int](time.Second)
269269
sm := NewSceneManager[int](from, 0)
270270
sm.SwitchWithTransition(to, trans)
271271

@@ -314,7 +314,7 @@ func TestTimedFadeTransition_Start(t *testing.T) {
314314
Clock = &MockClock{currentTime: now}
315315
from := &MockScene{}
316316
to := &MockScene{}
317-
trans := NewDurationTimedFadeTransition[int, *SceneManager[int]](time.Second)
317+
trans := NewDurationTimedFadeTransition[int](time.Second)
318318
trans.Start(from, to, nil)
319319

320320
assert.Equal(t, from, trans.fromScene)
@@ -332,7 +332,7 @@ func TestTimedSlideTransition_Update(t *testing.T) {
332332

333333
for _, direction := range variations {
334334
Clock = &MockClock{currentTime: time.Now()}
335-
trans := NewDurationTimedSlideTransition[int, *SceneManager[int]](direction, time.Second)
335+
trans := NewDurationTimedSlideTransition[int](direction, time.Second)
336336
sm := NewSceneManager[int](from, 0)
337337
sm.SwitchWithTransition(to, trans)
338338

@@ -370,7 +370,7 @@ func TestTimedSlideTransition_Start(t *testing.T) {
370370
Clock = &MockClock{currentTime: now}
371371
from := &MockScene{}
372372
to := &MockScene{}
373-
trans := NewDurationTimedSlideTransition[int, *SceneManager[int]](TopToBottom, time.Second)
373+
trans := NewDurationTimedSlideTransition[int](TopToBottom, time.Second)
374374
trans.Start(from, to, nil)
375375

376376
assert.Equal(t, from, trans.fromScene)

0 commit comments

Comments
 (0)