Ejemplo n.º 1
0
        public static void constructors(ApiModel.API api)
        {
            var cls = api.Classes.Single(x => x.Name == "Dummy.Parent");

            Test.AssertEquals(cls.Constructors.Count, 2);

            var ctors = cls.Constructors.OrderBy(ctor => ctor.Parameters.Count).ToList();

            var default_ctor = ctors[0];

            Test.AssertEquals(default_ctor.Parameters.Count, 0);
            Test.AssertEquals(default_ctor.Visibility, ApiModel.Visibility.Protected);

            var param_ctor = ctors[1];

            Test.AssertEquals(param_ctor.Parameters.Count, 2);
            Test.AssertEquals(param_ctor.Visibility, ApiModel.Visibility.Public);

            var first_param = param_ctor.Parameters[0];

            Test.AssertEquals(first_param.Name, "x");
            Test.AssertEquals(first_param.Type.Name, "System.Int32");

            var second_param = param_ctor.Parameters[1];

            Test.AssertEquals(second_param.Name, "y");
            Test.AssertEquals(second_param.Type.Name, "System.Double");
        }
Ejemplo n.º 2
0
        public static void prot_method_visibility(ApiModel.API api)
        {
            var cls      = api.Classes.Single(x => x.Name == "Dummy.Parent");
            var protMeth = cls.Methods.Single(x => x.Name == "ProtectedMeth");

            Test.AssertEquals(protMeth.Visibility, ApiModel.Visibility.Protected);
        }
Ejemplo n.º 3
0
        public static void test_serialization(ApiModel.API api)
        {
            var memory = new System.IO.MemoryStream();

            api.Serialize(memory);

            memory.Position = 0;

            var copy = ApiModel.API.Deserialize(memory);

            Func <ApiModel.API, List <string> > GetNames = (ApiModel.API data) => {
                List <string> acc = new List <string>();

                acc.AddRange(data.Classes.Select(x => x.Name).OrderBy(x => x).ToList());
                acc.AddRange(data.FunctionPointers.Select(x => x.Name).OrderBy(x => x).ToList());
                acc.AddRange(data.Enums.Select(x => x.Name).OrderBy(x => x).ToList());
                acc.AddRange(data.Structs.Select(x => x.Name).OrderBy(x => x).ToList());

                return(acc);
            };

            var originalNames = GetNames(api);
            var newNames      = GetNames(copy);

            Test.AssertEquals(originalNames.Count, newNames.Count);
            Test.Assert(originalNames.SequenceEqual(newNames));
        }
Ejemplo n.º 4
0
        public static void empty_class(ApiModel.API api)
        {
            var cls = api.Classes.Single(x => x.Name == "Dummy.EmptyClass");

            Test.AssertEquals(cls.Constructors.Count, 1, "Must have only the default constructor");
            var ctor = cls.Constructors.ElementAt(0);

            Test.AssertEquals(ctor.Parameters.Count, 0, "Default constructor must not have paramters");
        }
Ejemplo n.º 5
0
        public static void get_private_set_property(ApiModel.API api)
        {
            var cls        = api.Classes.Single(x => x.Name == "Dummy.Parent");
            var privateSet = cls.Properties.Single(x => x.Name == "PropPrivateSet");

            Test.AssertEquals(privateSet.Type.Name, "System.Int32");
            Test.Assert(privateSet.HasGet);
            Test.Assert(!privateSet.HasSet);
            Test.Assert(!privateSet.HasGetSet);
            Test.AssertEquals(privateSet.ToString(), "public System.Int32 PropPrivateSet { get; }");

            Test.AssertEquals(privateSet.Visibility, ApiModel.Visibility.Public);
            Test.AssertEquals(privateSet.GetVisibility, ApiModel.Visibility.Public);
            Test.AssertEquals(privateSet.SetVisibility, ApiModel.Visibility.Other);
        }
Ejemplo n.º 6
0
        public static void set_only_property(ApiModel.API api)
        {
            var cls     = api.Classes.Single(x => x.Name == "Dummy.Parent");
            var setOnly = cls.Properties.Single(x => x.Name == "PropSetOnly");

            Test.AssertEquals(setOnly.Type.Name, "System.Double");
            Test.Assert(!setOnly.HasGet);
            Test.Assert(setOnly.HasSet);
            Test.Assert(!setOnly.HasGetSet);
            Test.AssertEquals(setOnly.ToString(), "protected System.Double PropSetOnly { set; }");

            Test.AssertEquals(setOnly.Visibility, ApiModel.Visibility.Protected);
            Test.AssertEquals(setOnly.GetVisibility, ApiModel.Visibility.Other);
            Test.AssertEquals(setOnly.SetVisibility, ApiModel.Visibility.Protected);
        }
Ejemplo n.º 7
0
        public static void get_only_property(ApiModel.API api)
        {
            var cls     = api.Classes.Single(x => x.Name == "Dummy.Parent");
            var getOnly = cls.Properties.Single(x => x.Name == "PropGetOnly");

            Test.AssertEquals(getOnly.Type.Name, "System.String");
            Test.Assert(getOnly.HasGet);
            Test.Assert(!getOnly.HasSet);
            Test.Assert(!getOnly.HasGetSet);
            Test.AssertEquals(getOnly.ToString(), "public System.String PropGetOnly { get; }");

            Test.AssertEquals(getOnly.Visibility, ApiModel.Visibility.Public);
            Test.AssertEquals(getOnly.GetVisibility, ApiModel.Visibility.Public);
            Test.AssertEquals(getOnly.SetVisibility, ApiModel.Visibility.Other);
        }
Ejemplo n.º 8
0
        public static void get_all_events(ApiModel.API api)
        {
            var cls = api.Classes.Single(x => x.Name == "Dummy.Parent");

            Test.AssertEquals(cls.Events.Count, 2);

            var evts = cls.Events.OrderBy(evt => evt.Name).ToList();

            var clicked = evts[0];

            Test.AssertEquals(clicked.Name, "Clicked");
            Test.AssertEquals(clicked.Type.Name, "System.EventArgs");
            Test.AssertEquals(clicked.Visibility, ApiModel.Visibility.Public);

            var customEvt = evts[1];

            Test.AssertEquals(customEvt.Name, "CustomEvent");
            Test.AssertEquals(customEvt.Type.Name, "Dummy.CustomArgs");
            Test.AssertEquals(customEvt.Visibility, ApiModel.Visibility.Protected);
        }
Ejemplo n.º 9
0
 public static void SetApi(ApiModel.API api)
 {
     s_api = api;
 }
Ejemplo n.º 10
0
        public static void get_property_count(ApiModel.API api)
        {
            var cls = api.Classes.Single(x => x.Name == "Dummy.Parent");

            Test.AssertEquals(cls.Properties.Count, 4);
        }