Пример #1
0
        public static void IntrinsicTypes()
        {
            var sample  = new IntrinsicsSample();
            var sample2 = new IntrinsicsSample();

            sample.boolArray_ = new bool[] { false, true };
            sample.bool_      = true;

            sample.byteArray_ = new byte[] { 1, 2, 3 };
            sample.byte_      = 42;

            sample.doubleArray_ = new double[] { -1.1, 2.2, double.MaxValue, double.MinValue };
            sample.double_      = double.MaxValue;

            sample.floatArray_ = new float[] { -1.1f, 2.2f, float.MaxValue, float.MinValue };
            sample.float_      = float.MaxValue;

            sample.intArray_ = new int[] { -1, 0, 1, 2, int.MaxValue, int.MinValue };
            sample.int_      = int.MaxValue;

            sample.longArray_ = new long[] { -1, 0, 2, long.MaxValue, long.MinValue };
            sample.long_      = long.MinValue;

            sample.stringArray_ = new string[] { "hello", "world" };
            sample.string_      = "foobar";

            sample.uintArray_ = new uint[] { 0, 1, 2, uint.MaxValue, uint.MinValue };
            sample.uint_      = uint.MaxValue;

            sample.ulongArray_ = new ulong[] { 0, 2, ulong.MaxValue, ulong.MinValue };
            sample.ulong_      = ulong.MaxValue;

            WriteAndRead(ref sample, ref sample2, true);

            AssertEqual(sample2.boolArray_, sample2.boolArray_);
            AssertEqual(sample.byteArray_, sample2.byteArray_);
            AssertEqual(sample.doubleArray_, sample2.doubleArray_);
            AssertEqual(sample.floatArray_, sample2.floatArray_);
            AssertEqual(sample.intArray_, sample2.intArray_);
            AssertEqual(sample.longArray_, sample2.longArray_);
            AssertEqual(sample.stringArray_, sample2.stringArray_);
            AssertEqual(sample.uintArray_, sample2.uintArray_);
            AssertEqual(sample.ulongArray_, sample2.ulongArray_);

            AssertEqual(sample2.bool_, sample2.bool_);
            AssertEqual(sample.byte_, sample2.byte_);
            AssertEqual(sample.double_, sample2.double_);
            AssertEqual(sample.float_, sample2.float_);
            AssertEqual(sample.int_, sample2.int_);
            AssertEqual(sample.long_, sample2.long_);
            AssertEqual(sample.string_, sample2.string_);
            AssertEqual(sample.uint_, sample2.uint_);
            AssertEqual(sample.ulong_, sample2.ulong_);
        }
Пример #2
0
        public static void IntrinsicTypesTest()
        {
            var sample  = new IntrinsicsSample();
            var sample2 = new IntrinsicsSample();

            sample.boolArray_ = new bool[] { false, true };
            sample.boolList_  = sample.boolArray_.ToList();
            sample.bool_      = true;

            sample.byteArray_ = new byte[] { 1, 2, 3 };
            sample.byteList_  = sample.byteArray_.ToList();
            sample.byte_      = 42;

            sample.doubleArray_ = new double[] { -1.1, 2.2, double.MaxValue, double.MinValue };
            sample.doubleList_  = sample.doubleArray_.ToList();
            sample.double_      = double.MaxValue;

            sample.floatArray_ = new float[] { -1.1f, 2.2f, float.MaxValue, float.MinValue };
            sample.floatList_  = sample.floatArray_.ToList();
            sample.float_      = float.MaxValue;

            sample.intArray_ = new int[] { -1, 0, 1, 2, int.MaxValue, int.MinValue };
            sample.intList_  = sample.intArray_.ToList();
            sample.int_      = int.MaxValue;

            sample.longArray_ = new long[] { -1, 0, 2, long.MaxValue, long.MinValue };
            sample.longList_  = sample.longArray_.ToList();
            sample.long_      = long.MinValue;

            sample.stringArray_ = new string[] { "hello", "world" };
            sample.stringList_  = sample.stringArray_.ToList();
            sample.string_      = "foobar";

            sample.uintArray_ = new uint[] { 0, 1, 2, uint.MaxValue, uint.MinValue };
            sample.uintList_  = sample.uintArray_.ToList();
            sample.uint_      = uint.MaxValue;

            sample.ulongArray_ = new ulong[] { 0, 2, ulong.MaxValue, ulong.MinValue };
            sample.ulongList_  = sample.ulongArray_.ToList();
            sample.ulong_      = ulong.MaxValue;

            sample2.dict       = new Dictionary <string, object>();
            sample.dict        = new Dictionary <string, object>();
            sample.dict["Foo"] = 1.2;

            sample2.dictTyped       = new Dictionary <string, string>();
            sample.dictTyped        = new Dictionary <string, string>();
            sample.dictTyped["Bar"] = "baz";

            sample2.dictVertexData = new Dictionary <string, float[]>();
            sample.dictVertexData  = new Dictionary <string, float[]>();
            sample.dictVertexData["VertexData"] = new float[] { 42.3f };

            sample2.dictPrimvar = new Dictionary <string, USD.NET.Primvar <float[]> >();
            sample.dictPrimvar  = new Dictionary <string, USD.NET.Primvar <float[]> >();
            var pv = new USD.NET.Primvar <float[]>();

            pv.value         = new float[] { 423.2f };
            pv.interpolation = USD.NET.PrimvarInterpolation.FaceVarying;
            sample.dictPrimvar["PrimvarValue"] = pv;

            try {
                // We don't know how to serialize an IntPtr, should throw an exception.
                sample2.dictUnknown       = new Dictionary <string, IntPtr>();
                sample.dictUnknown        = new Dictionary <string, IntPtr>();
                sample.dictUnknown["Quz"] = new IntPtr(34292);
                WriteAndRead(ref sample, ref sample2, true);
                throw new Exception("Expected exception");
            } catch (ArgumentException) {
                Console.WriteLine("Caught expected exception");
            }

            sample2.dictUnknown = null;
            sample.dictUnknown  = null;

            WriteAndRead(ref sample, ref sample2, true);
            TestVariability(sample);

            AssertEqual(sample.dict, sample2.dict);
            AssertEqual(sample.dict["Foo"], sample2.dict["Foo"]);

            AssertEqual(sample.dictTyped, sample2.dictTyped);
            AssertEqual(sample.dictTyped["Bar"], sample2.dictTyped["Bar"]);

            AssertEqual(sample.dictVertexData, sample2.dictVertexData);
            AssertEqual(sample.dictVertexData["VertexData"], sample2.dictVertexData["VertexData"]);

            AssertEqual(sample.dictPrimvar["PrimvarValue"].value, sample2.dictPrimvar["PrimvarValue"].value);
            AssertEqual(sample.dictPrimvar["PrimvarValue"].interpolation, sample2.dictPrimvar["PrimvarValue"].interpolation);
            AssertEqual(sample.dictPrimvar["PrimvarValue"].indices, sample2.dictPrimvar["PrimvarValue"].indices);

            AssertEqual(sample.boolArray_, sample2.boolArray_);
            AssertEqual(sample.byteArray_, sample2.byteArray_);
            AssertEqual(sample.doubleArray_, sample2.doubleArray_);
            AssertEqual(sample.floatArray_, sample2.floatArray_);
            AssertEqual(sample.intArray_, sample2.intArray_);
            AssertEqual(sample.longArray_, sample2.longArray_);
            AssertEqual(sample.stringArray_, sample2.stringArray_);
            AssertEqual(sample.uintArray_, sample2.uintArray_);
            AssertEqual(sample.ulongArray_, sample2.ulongArray_);

            AssertEqual(sample2.boolList_, sample2.boolList_);
            AssertEqual(sample.byteList_, sample2.byteList_);
            AssertEqual(sample.doubleList_, sample2.doubleList_);
            AssertEqual(sample.floatList_, sample2.floatList_);
            AssertEqual(sample.intList_, sample2.intList_);
            AssertEqual(sample.longList_, sample2.longList_);
            AssertEqual(sample.stringList_, sample2.stringList_);
            AssertEqual(sample.uintList_, sample2.uintList_);
            AssertEqual(sample.ulongList_, sample2.ulongList_);

            AssertEqual(sample2.bool_, sample2.bool_);
            AssertEqual(sample.byte_, sample2.byte_);
            AssertEqual(sample.double_, sample2.double_);
            AssertEqual(sample.float_, sample2.float_);
            AssertEqual(sample.int_, sample2.int_);
            AssertEqual(sample.long_, sample2.long_);
            AssertEqual(sample.string_, sample2.string_);
            AssertEqual(sample.uint_, sample2.uint_);
            AssertEqual(sample.ulong_, sample2.ulong_);
        }