def METHOD_NAME(self):
  mass = 2.0;
  l = 2.0;
  r = 0.1;
  capsule = Capsuled(l, r);
  capsule.set_density_from_mass(mass);
  cylinderVolume = math.pi * r*r * l;
  sphereVolume = math.pi * 4. / 3. * r*r*r;
  volume = cylinderVolume + sphereVolume;
  cylinderMass = mass * cylinderVolume / volume;
  sphereMass = mass * sphereVolume / volume;
  # expected values based on formula used in Open Dynamics Engine
  # https://bitbucket.org/odedevs/ode/src/0.16.2/ode/src/mass.cpp#lines-148:153
  # and the following article:
  # https://www.gamedev.net/tutorials/_/technical/math-and-physics/capsule-inertia-tensor-r3856/
  ixxIyy = (1/12.0) * cylinderMass * (3*r*r + l*l) + sphereMass * (0.4*r*r + 0.375*r*l + 0.25*l*l);
  izz = r*r * (0.5 * cylinderMass + 0.4 * sphereMass);
  expectedMassMat = MassMatrix3d();
  expectedMassMat.set_inertia_matrix(ixxIyy, ixxIyy, izz, 0.0, 0.0, 0.0);
  expectedMassMat.set_mass(mass);
  massMat = capsule.mass_matrix();
  self.assertEqual(expectedMassMat, massMat);
  self.assertEqual(expectedMassMat.diagonal_moments(), massMat.diagonal_moments());
  self.assertEqual(expectedMassMat.mass(), massMat.mass());