Skip to content

Commit 4536615

Browse files
committed
chore(diffuin): address #221
1 parent beb020a commit 4536615

7 files changed

Lines changed: 680 additions & 0 deletions

File tree

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using S1API.Audio;
4+
using UnityEngine;
5+
6+
namespace S1API.Tests.Audio;
7+
8+
internal static class JukeboxApiCompileFixture
9+
{
10+
internal static void InspectAndControl(GameObject gameObject, string guid)
11+
{
12+
Jukebox? jukebox = Jukebox.FromGameObject(gameObject);
13+
IReadOnlyList<Jukebox> allJukeboxes = JukeboxManager.GetAll();
14+
Jukebox? byGuid = JukeboxManager.GetByGUID(guid);
15+
_ = allJukeboxes;
16+
_ = byGuid;
17+
18+
if (jukebox == null)
19+
return;
20+
21+
IReadOnlyList<JukeboxTrack> tracks = jukebox.Tracks;
22+
JukeboxTrack? currentTrack = jukebox.CurrentTrack;
23+
JukeboxState state = jukebox.State;
24+
Action<JukeboxState> handler = changedState =>
25+
{
26+
_ = changedState.CurrentTrack;
27+
};
28+
jukebox.OnStateChanged += handler;
29+
jukebox.OnStateChanged -= handler;
30+
31+
_ = jukebox.GUID;
32+
_ = jukebox.GameObject;
33+
_ = tracks;
34+
_ = currentTrack;
35+
_ = currentTrack?.Index;
36+
_ = currentTrack?.Name;
37+
_ = currentTrack?.Artist;
38+
_ = state.Volume;
39+
_ = state.NormalizedVolume;
40+
_ = state.IsPlaying;
41+
_ = state.CurrentTrackTime;
42+
_ = state.CurrentTrackOrderIndex;
43+
_ = state.Shuffle;
44+
_ = state.RepeatMode;
45+
_ = state.Sync;
46+
_ = jukebox.NormalizedVolume;
47+
_ = jukebox.IsPlaying;
48+
_ = jukebox.CurrentTrackTime;
49+
_ = jukebox.CurrentTrackOrderIndex;
50+
_ = jukebox.Shuffle;
51+
_ = jukebox.RepeatMode;
52+
_ = jukebox.Sync;
53+
jukebox.TogglePlay();
54+
jukebox.PreviousTrack();
55+
jukebox.NextTrack();
56+
jukebox.ChangeVolume(1);
57+
jukebox.SetVolume(4);
58+
jukebox.ToggleShuffle();
59+
jukebox.ToggleRepeatMode();
60+
jukebox.ToggleSync();
61+
jukebox.SelectTrack(0);
62+
}
63+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
using S1API.Audio;
2+
3+
namespace S1API.Tests.Audio;
4+
5+
public sealed class JukeboxRepeatModeTests
6+
{
7+
[Fact]
8+
public void ValuesMatchTheNativeRepeatModes()
9+
{
10+
Assert.Equal(0, (int)JukeboxRepeatMode.None);
11+
Assert.Equal(1, (int)JukeboxRepeatMode.RepeatQueue);
12+
Assert.Equal(2, (int)JukeboxRepeatMode.RepeatTrack);
13+
}
14+
}

0 commit comments

Comments
 (0)