Ejemplo n.º 1
0
            public void ShouldReturnValidResult()
            {
                // arrange
                var quantities = Fixture.CreateMany <SomeQuantity>(3);
                Func <number, SomeUnit, SomeQuantity> factory = SomeQuantityFactory.Create;

                number expectedResultInWatts = quantities.Sum(e => e.Value * e.Unit.ValueInUnits);
                var    expectedResultUnit    = quantities.First().Unit;
                var    expectedResult        = new SomeQuantity(expectedResultInWatts / expectedResultUnit.ValueInUnits, expectedResultUnit);

                // act
                var result = EnumerableExtensions.Sum <SomeQuantity, SomeUnit>(quantities, factory);

                // assert
                result.Unit.Should().Be(expectedResult.Unit);
                result.Value.Should().Be(expectedResult.Value);
            }
            public void ShouldReturnValidResult()
            {
                // arrange
                var source = Fixture.CreateMany <SomeQuantity>(3);
                Func <number, SomeUnit, SomeQuantity> factory = SomeQuantityFactory.Create;

                number expectedResultInWatts = source.Average(e => e.Value * e.Unit.ValueInUnits);
                var    expectedResultUnit    = source.First().Unit;
                var    expectedResult        = new SomeQuantity(expectedResultInWatts / expectedResultUnit.ValueInUnits, expectedResultUnit);

                // act
                var result = EnumerableExtensions.Average <SomeQuantity, SomeUnit>(source, factory);

                // assert
                result.Unit.Should().Be(expectedResult.Unit);
                result.Value.Should().BeApproximately(expectedResult.Value);
            }
Ejemplo n.º 3
0
            public void ShouldReturnValidResult()
            {
                // arrange
                var objects = Fixture.CreateMany <SomeQuantity>(3).Select(e => new TestObject <SomeQuantity>(e));
                Func <number, SomeUnit, SomeQuantity>          factory  = SomeQuantityFactory.Create;
                Func <TestObject <SomeQuantity>, SomeQuantity> selector = e => e.Property;

                number expectedResultInWatts = objects.Sum(e => e.Property.Value * e.Property.Unit.ValueInUnits);
                var    expectedResultUnit    = objects.First().Property.Unit;
                var    expectedResult        = new SomeQuantity(expectedResultInWatts / expectedResultUnit.ValueInUnits, expectedResultUnit);

                // act
                var result = EnumerableExtensions.Sum <TestObject <SomeQuantity>, SomeQuantity, SomeUnit>(objects, factory, selector);

                // assert
                result.Value.Should().Be(expectedResult.Value);
                result.Unit.Should().Be(expectedResult.Unit);
            }