test
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
using System.Linq;
|
||||
using NUnit.Framework;
|
||||
using Unity.Multiplayer.Center.Recommendations;
|
||||
|
||||
namespace Unity.MultiplayerCenterTests
|
||||
{
|
||||
/// <summary>
|
||||
/// Cheap checks on some user visible text.
|
||||
/// </summary>
|
||||
[TestFixture]
|
||||
internal class UserVisibleTextTests
|
||||
{
|
||||
static readonly string[] k_Verbs = {"is", "offers", "can", "costs", "would", "should", "works", "tends", "enables"};
|
||||
|
||||
[Test]
|
||||
public void AllScoreImpacts_ShouldHaveANonEmptyReason()
|
||||
{
|
||||
var questionnaireData = UtilsForRecommendationTests.GetProjectQuestionnaire();
|
||||
foreach (var question in questionnaireData.Questions)
|
||||
{
|
||||
foreach (var answer in question.Choices)
|
||||
{
|
||||
for (var index = 0; index < answer.ScoreImpacts.Length; index++)
|
||||
{
|
||||
var scoreImpact = answer.ScoreImpacts[index];
|
||||
Assert.False(string.IsNullOrEmpty(scoreImpact.Comment),
|
||||
$"Comment is empty for question {question.Id} answer {answer.Id} impact at index {index}");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void AllScoreImpacts_StartWithAVerbAndDoNotEndWithADot()
|
||||
{
|
||||
var questionnaireData = UtilsForRecommendationTests.GetProjectQuestionnaire();
|
||||
foreach (var question in questionnaireData.Questions)
|
||||
{
|
||||
foreach (var answer in question.Choices)
|
||||
{
|
||||
for (var index = 0; index < answer.ScoreImpacts.Length; index++)
|
||||
{
|
||||
var comment = answer.ScoreImpacts[index].Comment;
|
||||
var firstWord = comment.Split(' ')[0];
|
||||
CollectionAssert.Contains(k_Verbs, firstWord,
|
||||
$"Comment '{comment}' does not start with a verb for question {question.Id} answer {answer.Id} impact at index {index}");
|
||||
Assert.False(comment.EndsWith("."),
|
||||
$"Comment '{comment}' should not end with a dot for question {question.Id} answer {answer.Id} impact at index {index}");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void AllSolutionsData_DoNotHaveAVerbBeforeDynamicText()
|
||||
{
|
||||
var data = RecommenderSystemDataObject.instance.RecommenderSystemData;
|
||||
const string dynamicKeyword = Scoring.DynamicKeyword;
|
||||
foreach (var solution in data.RecommendedSolutions)
|
||||
{
|
||||
Assert.True(solution.ShortDescription.Contains(dynamicKeyword),
|
||||
$"Solution {solution.Type} description does not contain dynamic text '{dynamicKeyword}'");
|
||||
var wordBeforeDynamic = solution.ShortDescription.Split(dynamicKeyword)[0].Split(' ').Last();
|
||||
Assert.False(k_Verbs.Contains(wordBeforeDynamic),
|
||||
$"Solution {solution.Type} description starts with a verb '{wordBeforeDynamic}' before dynamic text '{dynamicKeyword}'");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user