public void Divide_BothArgumentsAreSame_ReturnsUnitless() { // Arrange IUnit unit = CreateStubUnit(); // Act IUnit result = UnitCombiner.Divide(unit, unit); // Assert Assert.IsInstanceOf(typeof(Unitless), result); }
public void Divide_LeftArgumentIsUnitless_ReturnsCompoundUnit() { // Arrange IUnit unit = CreateStubUnit(); // Act IUnit result = UnitCombiner.Divide(Unitless.Instance, unit); // Assert Assert.IsInstanceOf(typeof(CompoundUnit), result); }
public void Divide_RightArgumentIsUnitless_ReturnsLeftUnit() { // Arrange IUnit unit = CreateStubUnit(); // Act IUnit result = UnitCombiner.Divide(unit, Unitless.Instance); // Assert Assert.AreSame(unit, result); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
public void Divide_UnitlessArguments_ReturnsUnitless() { IUnit result = UnitCombiner.Divide(Unitless.Instance, Unitless.Instance); Assert.IsInstanceOf(typeof(Unitless), result); }