Skip to content

Commit

Permalink
chore(UnitTests): Invalid data fed into SetOption()
Browse files Browse the repository at this point in the history
  • Loading branch information
moomiji committed Jan 3, 2024
1 parent fbd15af commit 11c10de
Show file tree
Hide file tree
Showing 4 changed files with 68 additions and 48 deletions.
31 changes: 24 additions & 7 deletions src/MaaFramework.Binding.UnitTests/Test_IMaaController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,6 @@ public void CreateInstances()
#pragma warning restore S2699 // Tests should include assertions

[TestMethod]
[MaaData(MaaTypes.All, nameof(Data), ControllerOption.Invalid, "Anything")]
[MaaData(MaaTypes.All, nameof(Data), ControllerOption.ScreenshotTargetLongSide, 1280)]
[MaaData(MaaTypes.All, nameof(Data), ControllerOption.ScreenshotTargetShortSide, 720)]
[MaaData(MaaTypes.All, nameof(Data), ControllerOption.DefaultAppPackageEntry, "DefaultAppPackageEntry")]
Expand All @@ -124,12 +123,6 @@ public void Interface_SetOption(MaaTypes type, IMaaController maaController, Con
{
Assert.IsNotNull(maaController);

if (opt is ControllerOption.Invalid)
{
Assert.ThrowsException<InvalidOperationException>(() => maaController.SetOption(opt, arg));
return;
}

if (opt is ControllerOption.Recording && type is MaaTypes.Grpc)
{
Assert.ThrowsException<NotImplementedException>(() => maaController.SetOption(opt, arg));
Expand Down Expand Up @@ -301,4 +294,28 @@ public void Interface_Uuid(MaaTypes type, IMaaController maaController)
Assert.IsFalse(string.IsNullOrWhiteSpace(
maaController.Uuid));
}

#region Invalid data tests

[TestMethod]
[MaaData(MaaTypes.All, nameof(Data), ControllerOption.Invalid, "Anything")]
[MaaData(MaaTypes.All, nameof(Data), ControllerOption.ScreenshotTargetLongSide, 0.0)]
[MaaData(MaaTypes.All, nameof(Data), ControllerOption.ScreenshotTargetShortSide, 0.0)]
[MaaData(MaaTypes.All, nameof(Data), ControllerOption.DefaultAppPackageEntry, 0.0)]
[MaaData(MaaTypes.All, nameof(Data), ControllerOption.DefaultAppPackage, 0.0)]
[MaaData(MaaTypes.All, nameof(Data), ControllerOption.Recording, 0.0)]
public void Interface_SetOption_InvalidData(MaaTypes type, IMaaController maaController, ControllerOption opt, object arg)
{
Assert.IsNotNull(maaController);

if (opt is ControllerOption.Recording && type is MaaTypes.Grpc)
{
Assert.ThrowsException<NotImplementedException>(() => maaController.SetOption(opt, arg));
return;
}

Assert.ThrowsException<InvalidOperationException>(() => maaController.SetOption(opt, arg));
}

#endregion
}
29 changes: 13 additions & 16 deletions src/MaaFramework.Binding.UnitTests/Test_IMaaInstance.cs
Original file line number Diff line number Diff line change
Expand Up @@ -88,22 +88,6 @@ public void CreateInstances()
}
#pragma warning restore S2699 // Tests should include assertions

[TestMethod]
[MaaData(MaaTypes.All, nameof(Data), InstanceOption.Invalid, "Anything")]
public void Interface_SetOption(MaaTypes type, IMaaInstance maaInstance, InstanceOption opt, object arg)
{
Assert.IsNotNull(maaInstance);

if (opt is InstanceOption.Invalid)
{
Assert.ThrowsException<InvalidOperationException>(() => maaInstance.SetOption(opt, arg));
return;
}

Assert.IsTrue(
maaInstance.SetOption(opt, arg));
}

[TestMethod]
[MaaData(MaaTypes.All, nameof(Data))]
public void Interface_Resource(MaaTypes type, IMaaInstance maaInstance)
Expand Down Expand Up @@ -188,4 +172,17 @@ public void Interface_Abort(MaaTypes type, IMaaInstance maaInstance)
Assert.IsTrue(
maaInstance.Abort());
}

#region Invalid data tests

[TestMethod]
[MaaData(MaaTypes.All, nameof(Data), InstanceOption.Invalid, "Anything")]
public void Interface_SetOption_InvalidData(MaaTypes type, IMaaInstance maaInstance, InstanceOption opt, object arg)
{
Assert.IsNotNull(maaInstance);

Assert.ThrowsException<InvalidOperationException>(() => maaInstance.SetOption(opt, arg));
}

#endregion
}
31 changes: 13 additions & 18 deletions src/MaaFramework.Binding.UnitTests/Test_IMaaResource.cs
Original file line number Diff line number Diff line change
Expand Up @@ -73,24 +73,6 @@ public static void Interface_IMaaPost_Success(IMaaJob job)
MaaJobStatus.Success, job.Status);
}

[TestMethod]
[MaaData(MaaTypes.All, nameof(Data), ResourceOption.Invalid, "Anything")]
[MaaData(MaaTypes.All, nameof(Data), ResourceOption.Invalid, false)]
[MaaData(MaaTypes.All, nameof(Data), ResourceOption.Invalid, 0)]
public void Interface_SetOption(MaaTypes type, IMaaResource maaResource, ResourceOption opt, object arg)
{
Assert.IsNotNull(maaResource);

if (opt is ResourceOption.Invalid)
{
Assert.ThrowsException<InvalidOperationException>(() => maaResource.SetOption(opt, arg));
return;
}

Assert.IsTrue(
maaResource.SetOption(opt, arg));
}

[TestMethod]
[MaaData(MaaTypes.All, nameof(Data))]
public void Interface_Hash(MaaTypes type, IMaaResource maaResource)
Expand All @@ -110,4 +92,17 @@ public void Interface_TaskList(MaaTypes type, IMaaResource maaResource)
Assert.IsFalse(string.IsNullOrWhiteSpace(
maaResource.TaskList));
}

#region Invalid data tests

[TestMethod]
[MaaData(MaaTypes.All, nameof(Data), ResourceOption.Invalid, "Anything")]
public void Interface_SetOption_InvalidData(MaaTypes type, IMaaResource maaResource, ResourceOption opt, object arg)
{
Assert.IsNotNull(maaResource);

Assert.ThrowsException<InvalidOperationException>(() => maaResource.SetOption(opt, arg));
}

#endregion
}
25 changes: 18 additions & 7 deletions src/MaaFramework.Binding.UnitTests/Test_IMaaUtility.cs
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@ public void Interface_Version(MaaTypes type, IMaaUtility maaUtility)
}

[TestMethod]
[MaaData(MaaTypes.All, nameof(Data), GlobalOption.Invalid, "Anything")]
[MaaData(MaaTypes.All, nameof(Data), GlobalOption.LogDir, nameof(Common.DebugPath))]
[MaaData(MaaTypes.All, nameof(Data), GlobalOption.SaveDraw, false)]
[MaaData(MaaTypes.All, nameof(Data), GlobalOption.Recording, false)]
Expand All @@ -50,12 +49,6 @@ public void Interface_SetOption(MaaTypes type, IMaaUtility maaUtility, GlobalOpt
{
Assert.IsNotNull(maaUtility);

if (opt is GlobalOption.Invalid)
{
Assert.ThrowsException<InvalidOperationException>(() => maaUtility.SetOption(opt, arg));
return;
}

Assert.IsTrue(
maaUtility.SetOption(opt, arg));
}
Expand Down Expand Up @@ -137,4 +130,22 @@ public void Grpc_Static_RegisterCallback_UnregisterCallback()
MaaUtilityGrpc.UnregisterCallback(Common.GrpcChannel, callbackId));
readResponse.Wait();
}

#region Invalid data tests

[TestMethod]
[MaaData(MaaTypes.All, nameof(Data), GlobalOption.Invalid, "Anything")]
[MaaData(MaaTypes.All, nameof(Data), GlobalOption.LogDir, 0.0)]
[MaaData(MaaTypes.All, nameof(Data), GlobalOption.SaveDraw, 0.0)]
[MaaData(MaaTypes.All, nameof(Data), GlobalOption.Recording, 0.0)]
[MaaData(MaaTypes.All, nameof(Data), GlobalOption.StdoutLevel, 0.0)]
[MaaData(MaaTypes.All, nameof(Data), GlobalOption.ShowHitDraw, 0.0)]
public void Interface_SetOption_InvalidData(MaaTypes type, IMaaUtility maaUtility, GlobalOption opt, object arg)
{
Assert.IsNotNull(maaUtility);

Assert.ThrowsException<InvalidOperationException>(() => maaUtility.SetOption(opt, arg));
}

#endregion
}

0 comments on commit 11c10de

Please sign in to comment.