alttester / alttester/AltTester-Unity-SDK

The GetComponentProperty fails when attempting to retrieve a float or double type key from a Dictionary-typed property

Open
#1,818 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
C#
Stars
121
Forks
24
PR merge metrics
No merged PRs in 30d

Description

**Steps to reproduce**:

1. Add a Dictionary having a float or double type key property to a component
e.g.
```
public Dictionary floatDict = new Dictionary();
public Dictionary doubleDict = new Dictionary();
```
3. Populate it
e.g.
```
floatDict.Add(1.5f, "float one");
doubleDict.Add(2.71, "e approx");
```
5. Attempt to retrieve the key values.
e.g.
```
[TestCase("floatDict.1.5", "float one")]
[TestCase("doubleDict.2.71", "e approx")]

public void TestPrimitiveDictionaries(string propertyPath, string expectedValue)
{
var altElement = altDriver.FindObject(By.NAME, "Capsule");
Assert.NotNull(altElement, "GameObject 'Capsule' not found");

var actualValue = altElement.WaitForComponentProperty(
"AltExampleScriptCapsule",
propertyPath,
expectedValue,
"Assembly-CSharp"
);

Assert.AreEqual(expectedValue, actualValue, $"Mismatch for property {propertyPath}");
}
```
**Actual result**: Retrieving the key fails

![Image](https://github.com/user-attachments/assets/8130e81b-865a-4b4a-97d0-f4c52c3fcedb)

**Expected result**: the float and double key values are retrieved

**Note**: it is not very common to define a float or double key in a dictionary, so this issue can be treated with low priority.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.