Esempio n. 1
0
        public void Multiply_NoUnitlessArguments_ReturnsCompoundUnit()
        {
            // Arrange
            IUnit unit = CreateStubUnit();
            // Act
            IUnit result = UnitCombiner.Multiply(unit, unit);

            // Assert
            Assert.IsInstanceOf(typeof(CompoundUnit), result);
        }
Esempio n. 2
0
        public void Multiply_AxB_EqualsBxA()
        {
            // Arrange
            IUnit a = CreateStubUnit("a");
            IUnit b = CreateStubUnit("b");

            // Act
            IUnit result = UnitCombiner.Multiply(a, b);

            // Assert
            Assert.AreEqual(UnitCombiner.Multiply(b, a), result);
        }
Esempio n. 3
0
        public void Multiply_OneArgumentIsUnitless_ResultIsOtherArgument()
        {
            // Arrange
            IUnit unit = CreateStubUnit();
            // Act
            IUnit leftresult  = UnitCombiner.Multiply(Unitless.Instance, unit);
            IUnit rightresult = UnitCombiner.Multiply(Unitless.Instance, unit);

            // Assert
            Assert.AreSame(unit, leftresult);
            Assert.AreSame(unit, rightresult);
        }
Esempio n. 4
0
        public void Divide_CompoundUnitOverSelf_ReturnsUnitless()
        {
            // Arrange
            IUnit a   = CreateStubUnit("a");
            IUnit b   = CreateStubUnit("b");
            IUnit axb = UnitCombiner.Multiply(a, b);

            // Act
            IUnit result = UnitCombiner.Divide(axb, axb);

            // Assert
            Assert.AreSame(Unitless.Instance, result);
        }
Esempio n. 5
0
        public void Multiply_1_over_B_MultiplyWithA_ResultIsA_over_B()
        {
            // Arrange
            IUnit a    = CreateStubUnit("a");
            IUnit b    = CreateStubUnit("b");
            IUnit binv = UnitCombiner.Divide(Unitless.Instance, b);

            // Act
            IUnit result = UnitCombiner.Multiply(binv, a);

            // Assert
            Assert.AreEqual(UnitCombiner.Divide(a, b), result);
        }
Esempio n. 6
0
        public void Multiply_A_over_B_MultiplyWithB_ResultIsA()
        {
            // Arrange
            IUnit a      = CreateStubUnit("a");
            IUnit b      = CreateStubUnit("b");
            IUnit aoverb = UnitCombiner.Divide(a, b);

            // Act
            IUnit result = UnitCombiner.Multiply(aoverb, b);

            // Assert
            Assert.AreEqual(a, result);
        }
Esempio n. 7
0
        public void Divide_AxB_over_A_ResultIsB()
        {
            // Arrange
            IUnit a   = CreateStubUnit("a");
            IUnit b   = CreateStubUnit("b");
            IUnit axb = UnitCombiner.Multiply(a, b);

            // Act
            IUnit result = UnitCombiner.Divide(axb, a);

            // Assert
            Assert.AreSame(b, result);
        }
Esempio n. 8
0
        public void Multiply_AxB_X_BxA_EqualsAxAxBxB()
        {
            // Arrange
            IUnit a   = CreateStubUnit("a");
            IUnit b   = CreateStubUnit("b");
            IUnit axb = UnitCombiner.Multiply(a, b);
            IUnit bxa = UnitCombiner.Multiply(b, a);

            // Act
            IUnit result = UnitCombiner.Multiply(axb, bxa);

            // Assert
            Assert.AreEqual(UnitCombiner.Multiply(a, a, b, b), result);
        }
Esempio n. 9
0
        public void Multiply_AoverB_X_BoverA_ReturnsUnitless()
        {
            // Arrange
            IUnit a      = CreateStubUnit("a");
            IUnit b      = CreateStubUnit("b");
            IUnit aoverb = UnitCombiner.Divide(a, b);
            IUnit bovera = UnitCombiner.Divide(b, a);

            // Act
            IUnit result = UnitCombiner.Multiply(aoverb, bovera);

            // Assert
            Assert.AreSame(Unitless.Instance, result);
        }
Esempio n. 10
0
        public void MultiplyWithDimension_AmassxBlength_DimensionIsMassLength()
        {
            // Arrange
            IDimension mass   = CreateStubDimension("M");
            IDimension length = CreateStubDimension("L");
            IUnit      a      = CreateStubUnit("a", mass);
            IUnit      b      = CreateStubUnit("b", length);

            // Act
            IUnit      axb       = UnitCombiner.Multiply(a, b);
            IDimension dimension = axb.Dimension;

            // Assert
            Assert.AreEqual(new CompoundDimension(mass).Multiply(length), dimension);
        }
Esempio n. 11
0
        public void Divide_AxB_Over_1OverBxA_EqualsAxAxBxB()
        {
            // Arrange
            IUnit a      = CreateStubUnit("a");
            IUnit b      = CreateStubUnit("b");
            IUnit axb    = UnitCombiner.Multiply(a, b);
            IUnit bxa    = UnitCombiner.Multiply(b, a);
            IUnit bxainv = UnitCombiner.Divide(Unitless.Instance, bxa);

            // Act
            IUnit result = UnitCombiner.Divide(axb, bxainv);

            // Assert
            Assert.AreEqual(UnitCombiner.Multiply(a, a, b, b), result);
        }
Esempio n. 12
0
        public void Divide_AxBxC_Over_AxB_ReturnsC()
        {
            // Arrange
            IUnit a     = CreateStubUnit("a");
            IUnit b     = CreateStubUnit("b");
            IUnit c     = CreateStubUnit("c");
            IUnit axb   = UnitCombiner.Multiply(a, b);
            IUnit axbxc = UnitCombiner.Multiply(axb, c);

            // Act
            IUnit result = UnitCombiner.Divide(axbxc, axb);

            // Assert
            Assert.AreSame(c, result);
        }
Esempio n. 13
0
        public void Divide_AxBxC_over_B_ResultIsAxC()
        {
            // Arrange
            IUnit a        = CreateStubUnit("a");
            IUnit b        = CreateStubUnit("b");
            IUnit c        = CreateStubUnit("c");
            IUnit axb      = UnitCombiner.Multiply(a, b);
            IUnit axbxc    = UnitCombiner.Multiply(axb, c);
            IUnit expected = UnitCombiner.Multiply(a, c);

            // Act
            IUnit result = UnitCombiner.Divide(axbxc, b);

            // Assert
            Assert.AreEqual(expected, result);
        }
Esempio n. 14
0
        public void Multiply_UnitlessArguments_ResultIsUnitless()
        {
            IUnit result = UnitCombiner.Multiply(Unitless.Instance, Unitless.Instance);

            Assert.IsInstanceOf(typeof(Unitless), result);
        }