| 
 | 1 | +using System.Numerics;  | 
1 | 2 | using Jint.Native;  | 
2 | 3 | 
 
  | 
3 | 4 | namespace Jint.Tests.Runtime;  | 
@@ -28,4 +29,42 @@ public void BasicOperations(string statement, string expected)  | 
28 | 29 |         Assert.True(outputValues[0].IsBigInt(), "The type of the value is expected to stay BigInt");  | 
29 | 30 |         Assert.Equal(expected, outputValues[0].ToString());  | 
30 | 31 |     }  | 
 | 32 | + | 
 | 33 | +    [Theory]  | 
 | 34 | +    [InlineData("let right = 123n;")]  | 
 | 35 | +    [InlineData("let right = BigInt(123);")]  | 
 | 36 | +    [InlineData("let right = BigInt('123');")]  | 
 | 37 | +    public void ObjectIsReturnsTrueForSameBigInts(string statement)  | 
 | 38 | +    {  | 
 | 39 | +        // Arrange  | 
 | 40 | +        var engine = new Engine();  | 
 | 41 | +        engine.SetValue("left", new JsBigInt(new BigInteger(123)));  | 
 | 42 | +        engine.Evaluate(statement);  | 
 | 43 | + | 
 | 44 | +        // Act  | 
 | 45 | +        var result = engine.Evaluate("Object.is(left, right);");  | 
 | 46 | + | 
 | 47 | +        // Assert  | 
 | 48 | +        Assert.True(result.AsBoolean());  | 
 | 49 | +    }  | 
 | 50 | + | 
 | 51 | +    [Theory]  | 
 | 52 | +    [InlineData("let right = false;")]  | 
 | 53 | +    [InlineData("let right = 'test';")]  | 
 | 54 | +    [InlineData("let right = 123;")]  | 
 | 55 | +    [InlineData("let right = 321n;")]  | 
 | 56 | +    [InlineData("let right = BigInt('321');")]  | 
 | 57 | +    public void ObjectIsReturnsFalseDifferentComparisonsWithBigInt(string statement)  | 
 | 58 | +    {  | 
 | 59 | +        // Arrange  | 
 | 60 | +        var engine = new Engine();  | 
 | 61 | +        engine.SetValue("left", new JsBigInt(new BigInteger(123)));  | 
 | 62 | +        engine.Evaluate(statement);  | 
 | 63 | + | 
 | 64 | +        // Act  | 
 | 65 | +        var result = engine.Evaluate("Object.is(left, right);");  | 
 | 66 | + | 
 | 67 | +        // Assert  | 
 | 68 | +        Assert.False(result.AsBoolean());  | 
 | 69 | +    }  | 
31 | 70 | }  | 
0 commit comments