[BUG] ๐ `GroupExpression` does not work as expected
Closed this issue ยท 2 comments
candoumbe commented
Usage Information
Package version : 0.8.0
Relevant Code / Invocations
string input = "(02:53:39.987|1901-06-17T09:13:44.17Z)";
TokenList<FilterToken> tokens = FilterTokenizer.Parse(input);
GroupExpression actual = FilterTokenParser.Group.Parse(tokens);
GroupExpression expected = new (new OrExpression(new TimeExpression(hours: 2, minutes: 53, seconds: 39, milliseconds: 987),
new DateTimeExpression(new DateExpression(years: 1901, months: 06, days: 17),
new TimeExpression(hours: 9, minutes: 13, seconds: 44, milliseconds: 17),
OffsetTimeExpression.Zero)))
actual.Equals(expected)
Expected Behavior
What did you expect to happen?
actual.Equals(expected)
should be true
but got false
candoumbe commented
GroupExpression expected = new (new DateTimeExpression(new (2090, 10, 10), new (3, 0, 40, 583), OffsetExpression.Zero)); // (2090-10-10T03:00:40.583Z)
FilterTokenizer tokenizer = new ();
TokenList<FilterToken> tokens = tokenizer.Tokenize(input);
GroupExpression actual = FilterTokenParser.Group.Parse(tokens);
actual.Equals(expected) // <- false
Expected behaviour
Expected actual.Equals(expected)
to be true
but found false
Stack Trace
Error: [xUnit.net 00:00:13.98] Should parse Groups [FAIL]
Failed Should parse Groups [607 ms]
Error Message:
FsCheck.Xunit.PropertyFailedException :
Falsifiable, after 5 tests (0 shrinks) (6157201148448015481,9038077659937908233)
Last step was invoked with size of 6 and seed of (17275301200685211177,15089738645152992795):
Original:
{GroupExpression [Expression = DateTimeExpression, EscapedParseableString = '2090-10-10T03:00:40.583Z', OriginalString = '2090-10-10T03:00:40.583Z'], EscapedParseableString='(2090-10-10T03:00:40.583Z)'}
---- Expected actual to be {GroupExpression [Expression = DateTimeExpression, EscapedParseableString = '2090-10-10T03:00:40.583Z', OriginalString = '2090-10-10T03:00:40.583Z'], EscapedParseableString='(2090-10-10T03:00:40.583Z)'}, but found {GroupExpression [Expression = DateTimeExpression, EscapedParseableString = '2090-10-10T03:00:40.583Z', OriginalString = '2090-10-10T03:00:40.583Z'], EscapedParseableString='(2090-10-10T03:00:40.583Z)'}.
Stack Trace:
----- Inner Stack Trace -----
at FluentAssertions.Execution.XUnit2TestFramework.Throw(String message)
at FluentAssertions.Execution.TestFrameworkProvider.Throw(String message)
at FluentAssertions.Execution.DefaultAssertionStrategy.HandleFailure(String message)
at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
at FluentAssertions.Execution.AssertionScope.FailWith(String message, Object[] args)
at FluentAssertions.Primitives.ObjectAssertions.Be(Object expected, String because, Object[] becauseArgs)
at DataFilters.UnitTests.Grammar.Parsing.FilterTokenParserTests.AssertThatShould_parse(FilterExpression actual, FilterExpression expected, String reason) in D:\a\DataFilters\DataFilters\test\DataFilters.UnitTests\Grammar\Parsing\FilterTokenParserTests.cs:line 989
at DataFilters.UnitTests.Grammar.Parsing.FilterTokenParserTests.Should_parse_Groups(GroupExpression expected) in D:\a\DataFilters\DataFilters\test\DataFilters.UnitTests\Grammar\Parsing\FilterTokenParserTests.cs:line 958
--- End of stack trace from previous location where exception was thrown ---
at FsCheck.Runner.invokeAndThrowInner@590-1.Invoke(Object[] o) in C:\Users\kurts\Projects\FsCheck\src\FsCheck\Runner.fs:line 594
at <StartupCode$FSharp-Core>.$Reflect.Invoke@814-4.Invoke(T1 inp)
at System.Lazy`1.ViaFactory(LazyThreadSafetyMode mode)
at System.Lazy`1.ExecutionAndPublication(LazyHelper executionAndPublication, Boolean useDefaultConstructor)
at System.Lazy`1.CreateValue()
at System.Lazy`1.get_Value()
at FsCheck.Testable.Prop.safeForce[a](Lazy`1 body) in C:\Users\kurts\Projects\FsCheck\src\FsCheck\Testable.fs:line 145
Standard Output Messages:
input : '(17:44:40.958)'
input : '(P1Y2M1W1DT2H1M2S)'
input : '(*"\x03r"*)'
input : '(2082-03-08T09:51:29.511-05:34)'
input : '(2090-10-10T03:00:40.583Z)'
Additional information
Issue found when running CI build https://github.com/candoumbe/DataFilters/runs/3914170238