public void FullAttestations() { // Arrange IServiceProvider testServiceProvider = TestSystem.BuildTestServiceProvider(); BeaconState state = TestState.PrepareTestState(testServiceProvider); BeaconStateTransition beaconStateTransition = testServiceProvider.GetService <BeaconStateTransition>(); var attestations = PrepareStateWithFullAttestations(testServiceProvider, state); BeaconState preState = BeaconState.Clone(state); // Act RunProcessRewardsAndPenalties(testServiceProvider, state); // Assert var pendingAttestations = attestations.Select(x => new PendingAttestation(x.AggregationBits, x.Data, Slot.None, ValidatorIndex.None)); var attestingIndices = beaconStateTransition.GetUnslashedAttestingIndices(state, pendingAttestations).ToList(); attestingIndices.Count.ShouldBeGreaterThan(0); for (int index = 0; index < preState.Validators.Count; index++) { ValidatorIndex validatorIndex = new ValidatorIndex((ulong)index); if (attestingIndices.Contains(validatorIndex)) { state.Balances[index].ShouldBeGreaterThan(preState.Balances[index], $"Attesting balance {index}"); } else { state.Balances[index].ShouldBeLessThan(preState.Balances[index], $"Non-attesting balance {index}"); } } }