Files
Infratest/Assets/FastScriptReload/Tests/Editor/Integration/CodePatterns/AccessingIdentifierNamedSameAsMethodTest.cs
T
ThomasCharester 5f5ace1b52 Essentials + extra crap
Loadings
Startups
Movement
Camera
2026-01-12 18:43:51 +03:00

52 lines
2.2 KiB
C#

using System.Collections;
using System.Linq;
using System.Reflection;
using FastScriptReload.Tests.Runtime.Integration.CodePatterns;
using UnityEngine;
using UnityEngine.Assertions;
using UnityEngine.TestTools;
namespace FastScriptReload.Tests.Editor.Integration.CodePatterns
{
public class AccessingIdentifierNamedSameAsMethodTest : CompileWithRedirectTestBase
{
private static readonly string RelativeFilePath = @"Runtime\Integration\CodePatterns\AccessingIdentifierNamedSameAsMethod.cs";
[UnityTest]
public IEnumerator TestInstanceFieldTypeRewritten_StandardCompilation_TypeForInstanceVariableCorrectlyRewritten()
{
var instance = new GameObject("instance").AddComponent<AccessingIdentifierNamedSameAsMethod>();
var patchedTypeName = nameof(AccessingIdentifierNamedSameAsMethod) + FastScriptReload.Runtime.AssemblyChangesLoader.ClassnamePatchedPostfix;
TestCompileAndDetour(ResolveFullTestFilePath(RelativeFilePath), (compileResult) =>
{
instance.TestInstanceFieldTypeRewritten();
});
AssertDetourConfirmed(typeof(AccessingIdentifierNamedSameAsMethod), nameof(instance.TestInstanceFieldTypeRewritten),
(o) => o.ToString() == patchedTypeName,
"Value should be set after compilation"
);
yield return null;
}
[UnityTest]
public IEnumerator TestAccessingSameNamedVariableNotChanged_StandardCompilation_PropertyAccessInCallNotReplaced()
{
var instance = new GameObject("instance").AddComponent<AccessingIdentifierNamedSameAsMethod>();
TestCompileAndDetour(ResolveFullTestFilePath(RelativeFilePath), (compileResult) =>
{
instance.TestAccessingSameNamedVariableNotChanged();
});
AssertDetourConfirmed(typeof(AccessingIdentifierNamedSameAsMethod), nameof(instance.TestAccessingSameNamedVariableNotChanged),
(r) => (bool)r == true,
"Value should be set after compilation"
);
yield return null;
}
}
}