public void GetDebts_OneBoughtAndOneConsumed_ShouldAccountToConsumer() { var total = fixture.Create <decimal>(); var sponsor = fixture.Build <Participation>().With(p => p.Amount, total).Create(); var consumer = fixture.Build <Participation>().With(p => p.Amount, total).Create(); var good = GoodWithConsumers(new[] { consumer }, total); var action = fixture.Build <Action>().With(a => a.Goods, new[] { good }).With(a => a.Sponsors, new[] { sponsor }).Create(); var actual = sut.GetDebts(new[] { action }); Assert.That(actual.Count(), Is.EqualTo(1)); Assert.That(actual.Single().Creditor, Is.EqualTo(sponsor.Participant)); Assert.That(actual.Single().Debtor, Is.EqualTo(consumer.Participant)); Assert.That(actual.Single().Amount, Is.EqualTo(total)); }