Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/CoreTests/DocumentCleanerTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,7 @@ async Task<int> GetSequenceCount(IDocumentStore store)
var values = await session.QueryAsync<int>(@"select count(*) from information_schema.sequences s
where s.sequence_name like ? and s.sequence_schema = any(?);", "mt_%", allSchemas);

return values.First();
return values[0];
}

(await GetSequenceCount(theStore)).ShouldBeGreaterThan(0);
Expand Down
12 changes: 6 additions & 6 deletions src/CoreTests/adding_custom_schema_objects.cs
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ public async Task enable_an_extension()

var result = await session.QueryAsync<bool>("select unaccent('Æ') = 'AE';");

result.First().ShouldBe(true);
result[0].ShouldBe(true);
}

[Fact]
Expand Down Expand Up @@ -158,7 +158,7 @@ public async Task enable_an_extension_with_multitenancy_with_tenants_upfront_thr
await using var sessionNext = theStore.QuerySession(tenantId);
var result = await sessionNext.QueryAsync<bool>("select unaccent('Æ') = 'AE';");

result.First().ShouldBe(true);
result[0].ShouldBe(true);
}

[Fact]
Expand Down Expand Up @@ -186,7 +186,7 @@ public async Task enable_an_extension_with_multitenancy_with_tenants_upfront_thr

var session = theStore.QuerySession(tenantId);
var result = await session.QueryAsync<bool>("select unaccent('Æ') = 'AE';");
result.First().ShouldBe(true);
result[0].ShouldBe(true);
}

[Fact]
Expand Down Expand Up @@ -221,8 +221,8 @@ create or replace function iif(
var match = await session.QueryAsync<string>("select iif(1 = 1, 'value matches'::text, 'no match'::text);");
var noMatch = await session.QueryAsync<string>("select iif(1 = 2, 'value matches'::text, 'no match'::text);");

match.First().ShouldBe("value matches");
noMatch.First().ShouldBe("no match");
match[0].ShouldBe("value matches");
noMatch[0].ShouldBe("no match");
}

[Fact]
Expand All @@ -249,7 +249,7 @@ public async Task create_a_sequence()
var value = await session.QueryAsync<int>("select nextval('banana_seq')");
var valueAgain = await session.QueryAsync<int>("select nextval('banana_seq')");

valueAgain.First().ShouldBe(value.First() + 1);
valueAgain[0].ShouldBe(value[0] + 1);
}

private async Task DropDatabaseIfExists(string databaseName)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,7 @@ public async Task rebuild_with_gaps_in_sequence_from_initial_position_before_hig
var cars = await session.Query<CarView>().ToListAsync();

waterMark.ShouldBe(maxSeqId);
cars.Last().Name.ShouldBe("car-name-999");
cars[cars.Count - 1].Name.ShouldBe("car-name-999");
}
}

Expand Down Expand Up @@ -283,7 +283,7 @@ public async Task rebuild_with_gaps_in_sequence_from_initial_position_after_high
var cars = await session.Query<CarView>().ToListAsync();

waterMark.ShouldBe(maxSeqId);
cars.Last().Name.ShouldBe("car-name-999");
cars[cars.Count - 1].Name.ShouldBe("car-name-999");
}
}

Expand Down
2 changes: 1 addition & 1 deletion src/DocumentDbTests/Configuration/DocumentMappingTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -475,7 +475,7 @@ public void to_table_columns_with_subclasses()

var table = new DocumentTable(mapping);

var typeColumn = table.Columns.Last();
var typeColumn = table.Columns[table.Columns.Count - 1];
typeColumn.Name.ShouldBe(SchemaConstants.DocumentTypeColumn);
typeColumn.Type.ShouldBe("varchar");
}
Expand Down
4 changes: 2 additions & 2 deletions src/EventSourcingTests/Aggregation/stream_compacting.cs
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,7 @@ await theSession.Events.CompactStreamAsync<Letters>(streamId, x =>
var events = await theSession.Events.FetchStreamAsync(streamId);
events.Count.ShouldBe(5);

var compacted = events.First().ShouldBeOfType < Event<Compacted<Letters>>>();
var compacted = events[0].ShouldBeOfType < Event<Compacted<Letters>>>();
compacted.Version.ShouldBe(5);
compacted.Data.Snapshot.ACount.ShouldBe(2);
compacted.Data.Snapshot.BCount.ShouldBe(1);
Expand Down Expand Up @@ -332,7 +332,7 @@ public async Task end_to_end_string_identification_at_specified_version()
var events = await theSession.Events.FetchStreamAsync(streamId);
events.Count.ShouldBe(5);

var compacted = events.First().ShouldBeOfType < Event<Compacted<LetterCountsByString>>>();
var compacted = events[0].ShouldBeOfType < Event<Compacted<LetterCountsByString>>>();
compacted.Version.ShouldBe(5);
compacted.Data.Snapshot.ACount.ShouldBe(2);
compacted.Data.Snapshot.BCount.ShouldBe(1);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ public void use_string_id_if_as_string_identifiers()

pk.Type.ShouldBe("varchar");
pk.Name.ShouldBe("id");
table.Columns.First().Name.ShouldBe("id");
table.Columns[0].Name.ShouldBe("id");
}

[Fact]
Expand Down
8 changes: 4 additions & 4 deletions src/EventSourcingTests/removing_protected_information.cs
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ await theStore.Advanced.ApplyEventDataMasking(x =>
joined.Headers["opid"].ShouldBe(1);

// The last event does not get masked
events.Last().Headers["color"].ShouldBe("blue");
events[events.Count - 1].Headers["color"].ShouldBe("blue");

// Should *not* apply here
var events2 = await theSession.Events.FetchStreamAsync(streamId2);
Expand Down Expand Up @@ -232,7 +232,7 @@ await theStore.Advanced.ApplyEventDataMasking(x =>
joined.Headers["opid"].ShouldBe(1);

// The last event does not get masked
events.Last().Headers["color"].ShouldBe("blue");
events[events.Count - 1].Headers["color"].ShouldBe("blue");

// Should *not* apply here
var events2 = await theSession.Events.FetchStreamAsync(streamId2);
Expand Down Expand Up @@ -290,7 +290,7 @@ await theStore.Advanced.ApplyEventDataMasking(x =>
}

// The last event does not get masked
events.Last().Headers["color"].ShouldBe("blue");
events[events.Count - 1].Headers["color"].ShouldBe("blue");

// Should *not* apply here
var events2 = await theSession.Events.FetchStreamAsync(streamId2);
Expand Down Expand Up @@ -354,7 +354,7 @@ await theStore.Advanced.ApplyEventDataMasking(x =>
joined.Headers["opid"].ShouldBe(1);

// The last event does not get masked
events.Last().Headers["color"].ShouldBe("blue");
events[events.Count - 1].Headers["color"].ShouldBe("blue");

// Should *not* apply here
var events2 = await theSession.Events.FetchStreamAsync(streamId2);
Expand Down
22 changes: 11 additions & 11 deletions src/EventSourcingTests/replacing_events.cs
Original file line number Diff line number Diff line change
Expand Up @@ -22,21 +22,21 @@ public async Task simple_replacement_default_settings()

var events = await theSession.Events.FetchStreamAsync(streamId);

var sequence = events.Last().Sequence;
var sequence = events[events.Count - 1].Sequence;

var joined2 = new MembersJoined { Members = ["Moiraine", "Lan"] };
theSession.Events.CompletelyReplaceEvent(sequence, joined2);
await theSession.SaveChangesAsync();

var events2 = await theSession.Events.FetchStreamAsync(streamId);
var final = events2.Last().ShouldBeOfType<Event<MembersJoined>>();
var final = events2[events2.Count - 1].ShouldBeOfType<Event<MembersJoined>>();

// These should not change
final.Version.ShouldBe(events.Last().Version);
final.Sequence.ShouldBe(events.Last().Sequence);
final.Version.ShouldBe(events[events.Count - 1].Version);
final.Sequence.ShouldBe(events[events.Count - 1].Sequence);

// Id gets changed
final.Id.ShouldNotBe(events.Last().Id);
final.Id.ShouldNotBe(events[events.Count - 1].Id);

// These need to get changed
final.Data.Members.ShouldBe(["Moiraine", "Lan"]);
Expand Down Expand Up @@ -64,22 +64,22 @@ public async Task simple_replacement_all_metadata_turned_on()

var events = await theSession.Events.FetchStreamAsync(streamId);

var sequence = events.Last().Sequence;
var sequence = events[events.Count - 1].Sequence;

var joined2 = new MembersJoined { Members = ["Moiraine", "Lan"] };
theSession.Events.CompletelyReplaceEvent(sequence, joined2);
await theSession.SaveChangesAsync();

var events2 = await theSession.Events.FetchStreamAsync(streamId);
var final = events2.Last().ShouldBeOfType<Event<MembersJoined>>();
var final = events2[events2.Count - 1].ShouldBeOfType<Event<MembersJoined>>();

// These should not change
final.Version.ShouldBe(events.Last().Version);
final.Sequence.ShouldBe(events.Last().Sequence);
final.Version.ShouldBe(events[events.Count - 1].Version);
final.Sequence.ShouldBe(events[events.Count - 1].Sequence);

// Id gets changed
final.Id.ShouldNotBe(events.Last().Id);
final.Timestamp.ShouldNotBe(events.Last().Timestamp);
final.Id.ShouldNotBe(events[events.Count - 1].Id);
final.Timestamp.ShouldNotBe(events[events.Count - 1].Timestamp);

// These need to get changed
final.Data.Members.ShouldBe(["Moiraine", "Lan"]);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ public async Task reproduction()
.ToListAsync(default);

instanceFilesTask.Count.ShouldBePositive();
instanceFilesTask.First().InstanceData["Data"].ShouldBe("Pew Pew");
instanceFilesTask[0].InstanceData["Data"].ShouldBe("Pew Pew");
}
}
}
Expand Down
4 changes: 2 additions & 2 deletions src/Marten/Events/EventStore.StreamCompacting.cs
Original file line number Diff line number Diff line change
Expand Up @@ -112,8 +112,8 @@ internal async Task ExecuteAsync(DocumentSessionBase session)

var sequences = events.Select(x => x.Sequence).Take(events.Count - 1).ToArray();

Version = events.Last().Version;
Sequence = events.Last().Sequence;
Version = events[events.Count - 1].Version;
Sequence = events[events.Count - 1].Sequence;

// 3. Aggregate up to the new snapshot
var aggregate = await aggregator.BuildAsync(events, session, default, CancellationToken).ConfigureAwait(false);
Expand Down
4 changes: 2 additions & 2 deletions src/Marten/Events/QueryEventStore.cs
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ public async Task<IReadOnlyList<IEvent>> FetchStreamAsync(string streamKey, long
return state;
}

if (version != 0 && version > events.Last().Version) return null;
if (version != 0 && version > events[events.Count - 1].Version) return null;

var aggregator = _store.Options.Projections.AggregatorFor<T>();
var aggregate = await aggregator.BuildAsync(events, _session, state, token).ConfigureAwait(false);
Expand Down Expand Up @@ -133,7 +133,7 @@ public async Task<IReadOnlyList<IEvent>> FetchStreamAsync(string streamKey, long
return state;
}

if (version != 0 && version > events.Last().Version) return null;
if (version != 0 && version > events[events.Count - 1].Version) return null;

var aggregator = _store.Options.Projections.AggregatorFor<T>();

Expand Down
Loading