Example #1
0
        public void TestAddInt()
        {
            var model   = new SharpRemote.TypeModel();
            var intType = model.Add <int>();

            intType.Should().NotBeNull();

            var valueType = intType.BaseType;

            valueType.Should().NotBeNull();
            valueType.Type.Should().Be <ValueType>();

            var objectType = valueType.BaseType;

            objectType.Should().NotBeNull();
            objectType.Type.Should().Be <object>();

            ((TypeDescription)intType).Id.Should().BeGreaterThan(0);
            ((TypeDescription)valueType).Id.Should().BeGreaterThan(0);
            ((TypeDescription)objectType).Id.Should().BeGreaterThan(0);

            ((TypeDescription)intType).BaseTypeId.Should().Be(((TypeDescription)valueType).Id);
            ((TypeDescription)valueType).BaseTypeId.Should().Be(((TypeDescription)objectType).Id);

            model.Get <int>().Should().BeSameAs(intType);
            model.Get <ValueType>().Should().BeSameAs(valueType);
            model.Get <object>().Should().BeSameAs(objectType);
        }