示例#1
0
        public static void Test_current_model_singleton( )
        {
            var original = RecordsApiModel.CurrentModel;

            Assert.NotNull(original);

            var actual  = new RecordsApiModel( );
            var between = RecordsApiModel.CurrentModel;

            Assert.True(ReferenceEquals(original, between));

            var second = new RecordsApiModel( );
            var after  = RecordsApiModel.CurrentModel;

            Assert.True(ReferenceEquals(original, after));
        }
示例#2
0
 /// <summary>
 ///     Initializes a new instance of the <see cref="RecordsController" /> class.
 /// </summary>
 /// <autogeneratedoc />
 /// TODO Edit XML Comment Template for #ctor
 public RecordsController( )
 {
     MyRecordsModel = new RecordsApiModel( );
 }
示例#3
0
        public static void Test_that_ordering_is_correct()
        {
            var randomProvider = new Random();
            var person1        = PreferencesHelpers.GenerateRandomRecord(randomProvider);
            var person1A       = new PersonColorPreferenceModel().PopulateFrom(person1);

            person1A.LastName = "person1A";
            var person2  = PreferencesHelpers.GenerateRandomRecord(randomProvider);
            var person3  = PreferencesHelpers.GenerateRandomRecord(randomProvider);
            var person3A = new PersonColorPreferenceModel().PopulateFrom(person3);

            person3A.LastName = "person3A";

            var newRecords = new List <PersonColorPreferenceModel>
            {
                person1,
                PreferencesHelpers.GenerateRandomRecord(randomProvider),
                person1,
                PreferencesHelpers.GenerateRandomRecord(randomProvider),
                person2,
                PreferencesHelpers.GenerateRandomRecord(randomProvider),
                person2,
                PreferencesHelpers.GenerateRandomRecord(randomProvider),
                PreferencesHelpers.GenerateRandomRecord(randomProvider),
                person3,
                PreferencesHelpers.GenerateRandomRecord(randomProvider),
                person3
            }.ToSafeList();

            var apiModel = new RecordsApiModel( );
            var model    = RecordsApiModel.CurrentModel;

            newRecords.ForEach(newRecord => apiModel.Create(UnitTestHelpers.GenerateLine(newRecord, '|')));

            model.Add(newRecords);

            var added                = model.PersonColorPreferences.ToSafeList();
            var byBirthDate          = apiModel.ByBirthDate().ToSafeList();
            var byGenderLastName     = apiModel.ByGender().ToSafeList();
            var byLastNameDescending = apiModel.ByLastNameDescending().ToSafeList();
            var byName               = apiModel.ByName().ToSafeList();
            var byIndex              = apiModel.ByIndex( ).ToSafeList( );

            added.Aggregate((arg1, arg2) =>
            {
                Assert.True(arg1.Id < arg2.Id);
                return(arg2);
            });

            byBirthDate.Aggregate((arg1, arg2) =>
            {
                Assert.True(arg1.DateTimeBirth <= arg2.DateTimeBirth);
                return(arg2);
            });

            byGenderLastName.Aggregate((arg1, arg2) =>
            {
                var order = string.Compare(arg1.Gender, arg2.Gender, StringComparison.InvariantCulture);
                Assert.True(order <= 0);
                if (order == 0)
                {
                    var order2 = string.Compare(arg1.LastNameUpper, arg2.LastNameUpper, StringComparison.InvariantCulture);
                    Assert.True(order2 <= 0);
                }

                return(arg2);
            });

            byLastNameDescending.Aggregate((arg1, arg2) =>
            {
                Assert.True(string.Compare(arg1.LastNameUpper, arg2.LastNameUpper, StringComparison.InvariantCulture) >= 0);
                return(arg2);
            });

            byName.Aggregate((arg1, arg2) =>
            {
                var order = string.Compare(arg1.LastNameUpper, arg2.LastNameUpper, StringComparison.InvariantCulture);
                Assert.True(order <= 0);
                if (order == 0)
                {
                    var order2 = string.Compare(arg1.FirstNameUpper, arg2.FirstNameUpper, StringComparison.InvariantCulture);
                    Assert.True(order2 <= 0);
                }

                return(arg2);
            });
        }
示例#4
0
        public static void Test_default_constructor( )
        {
            var actual = new RecordsApiModel( );

            Assert.NotNull(actual);
        }