public void TestCartesianToNotional_Vector3d_Vector3d_Vector3d()
        {
            Vector3 a = new Vector3(1.0, 0.0, 0.0);
            Vector3 b = new Vector3(0.0, 2.0, 0.0);
            Vector3 c = new Vector3(0.0, 0.0, 3.0);

            double[] notionalCoords = CrystalGeometryTools.CartesianToNotional(a, b, c);
            Assert.AreEqual(1.0, notionalCoords[0], 0.001);
            Assert.AreEqual(2.0, notionalCoords[1], 0.001);
            Assert.AreEqual(3.0, notionalCoords[2], 0.001);
            Assert.AreEqual(90.0, notionalCoords[3], 0.001);
            Assert.AreEqual(90.0, notionalCoords[4], 0.001);
            Assert.AreEqual(90.0, notionalCoords[5], 0.001);
        }
        public void TestRoundTripUnitCellNotionalCoordinates()
        {
            Vector3[] cardAxes = CrystalGeometryTools.NotionalToCartesian(7.6, 3.9, 10.3, 67.0, 91.2, 110.5);
            Vector3   a        = cardAxes[0];
            Vector3   b        = cardAxes[1];
            Vector3   c        = cardAxes[2];

            double[] notionalCoords = CrystalGeometryTools.CartesianToNotional(a, b, c);
            Assert.AreEqual(7.6, notionalCoords[0], 0.001);
            Assert.AreEqual(3.9, notionalCoords[1], 0.001);
            Assert.AreEqual(10.3, notionalCoords[2], 0.001);
            Assert.AreEqual(67.0, notionalCoords[3], 0.001);
            Assert.AreEqual(91.2, notionalCoords[4], 0.001);
            Assert.AreEqual(110.5, notionalCoords[5], 0.001);
        }