test
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"displayName": "Exercise 15: Solution",
|
||||
"description": "This section will cover [TestCase] and similar NUnit attributes and how to work with them in UnityTests.",
|
||||
"interactiveImport": true
|
||||
}
|
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4d1f3430b2f9f814a9f6bd433e33800e
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -0,0 +1,18 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
public class MyClass
|
||||
{
|
||||
public int Add(int a, int b)
|
||||
{
|
||||
return a + b;
|
||||
}
|
||||
|
||||
public IEnumerator<int> AddAsync(int a, int b)
|
||||
{
|
||||
yield return default;
|
||||
yield return default;
|
||||
yield return default;
|
||||
yield return a + b;
|
||||
}
|
||||
}
|
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 238b937940037cf4883be97c58bdf925
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"name": "MyGame_15s"
|
||||
}
|
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: baeb7ed0d8256ce49ab614e71e1998c1
|
||||
AssemblyDefinitionImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6f947772fc058764b9dafd33947db205
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -0,0 +1,56 @@
|
||||
using System.Collections;
|
||||
using NUnit.Framework;
|
||||
using UnityEngine.TestTools;
|
||||
|
||||
namespace Tests_15s
|
||||
{
|
||||
public class MyClassTests
|
||||
{
|
||||
[Test]
|
||||
[TestCase(24, 80, 104)]
|
||||
[TestCase(10, -15, -5)]
|
||||
[TestCase(int.MaxValue, 10, int.MinValue + 9)]
|
||||
public void AddCalculatesCorrectValue(int valueA, int valueB, int expectedResult)
|
||||
{
|
||||
var myClass = new MyClass();
|
||||
|
||||
var result = myClass.Add(valueA, valueB);
|
||||
|
||||
Assert.That(result, Is.EqualTo(expectedResult));
|
||||
}
|
||||
|
||||
[UnityTest]
|
||||
public IEnumerator AddAsyncCalculatesCorrectValue([ValueSource(nameof(AdditionCases))] AddCase addCase)
|
||||
{
|
||||
var myClass = new MyClass();
|
||||
|
||||
var enumerator = myClass.AddAsync(addCase.valueA, addCase.valueB);
|
||||
while (enumerator.MoveNext())
|
||||
{
|
||||
yield return null;
|
||||
}
|
||||
var result = enumerator.Current;
|
||||
|
||||
Assert.That(result, Is.EqualTo(addCase.expectedResult));
|
||||
}
|
||||
|
||||
private static IEnumerable AdditionCases()
|
||||
{
|
||||
yield return new AddCase {valueA = 24, valueB = 80, expectedResult = 104};
|
||||
yield return new AddCase {valueA = 10, valueB = -15, expectedResult = -5};
|
||||
yield return new AddCase {valueA = int.MaxValue, valueB = 10, expectedResult = int.MinValue + 9};
|
||||
}
|
||||
|
||||
public struct AddCase
|
||||
{
|
||||
public int valueA;
|
||||
public int valueB;
|
||||
public int expectedResult;
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return $"{valueA} + {valueB} = {expectedResult}";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b3ae2bab6a3e1074cb802e5868363fa5
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"name": "Tests_15s",
|
||||
"references": [
|
||||
"UnityEngine.TestRunner",
|
||||
"UnityEditor.TestRunner",
|
||||
"MyGame_15s"
|
||||
],
|
||||
"includePlatforms": [
|
||||
"Editor"
|
||||
],
|
||||
"excludePlatforms": [],
|
||||
"allowUnsafeCode": false,
|
||||
"overrideReferences": true,
|
||||
"precompiledReferences": [
|
||||
"nunit.framework.dll"
|
||||
],
|
||||
"autoReferenced": false,
|
||||
"defineConstraints": [
|
||||
"UNITY_INCLUDE_TESTS"
|
||||
],
|
||||
"versionDefines": []
|
||||
}
|
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ae9d8c6d83a9a874f88d43fcf195cb6b
|
||||
AssemblyDefinitionImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Reference in New Issue
Block a user