Add proper tests

This commit is contained in:
Dean Herbert 2019-06-04 10:26:35 +09:00
parent e8315085c0
commit a5a025de68
1 changed files with 26 additions and 3 deletions

View File

@ -17,16 +17,39 @@ public class TestSceneShowMoreButton : OsuTestScene
public TestSceneShowMoreButton()
{
ShowMoreButton button;
ShowMoreButton button = null;
int fireCount = 0;
Add(button = new ShowMoreButton
{
Anchor = Anchor.Centre,
Origin = Anchor.Centre,
Action = () => { }
Action = () =>
{
fireCount++;
// ReSharper disable once AccessToModifiedClosure
// ReSharper disable once PossibleNullReferenceException
Scheduler.AddDelayed(() => button.IsLoading = false, 2000);
}
});
AddStep("switch loading state", () => button.IsLoading = !button.IsLoading);
AddStep("click button", () => button.Click());
AddAssert("action fired once", () => fireCount == 1);
AddAssert("is in loading state", () => button.IsLoading);
AddStep("click button", () => button.Click());
AddAssert("action not fired", () => fireCount == 1);
AddAssert("is in loading state", () => button.IsLoading);
AddUntilStep("wait for loaded", () => !button.IsLoading);
AddStep("click button", () => button.Click());
AddAssert("action fired twice", () => fireCount == 2);
AddAssert("is in loading state", () => button.IsLoading);
}
}
}