예제 #1
0
        public async Task RecipeLookup_WithNegativeFromParameter_ReturnsNoRowsAndWarningAsync()
        {
            RecipePayload expected = new RecipePayload();

            expected.Q       = "chicken";
            expected.From    = 0;
            expected.To      = 10;
            expected.More    = false;
            expected.Count   = 0;
            expected.Warning = "Parameter From is less than zero.  Please provide a value greater than or equal to zero and less than the To parameter.";
            expected.Hits    = new List <Hit> ();

            SearchParams searchParams = new SearchParams("chicken", -1, 10);

            using (AutoMock mock = AutoMock.GetLoose()) {
                mock.Mock <IApiConfigProvider> ()
                .Setup(x => x.GetApiConfigSettings())
                .Returns(new ApiConfigSettings("123", "abc", "hello"));

                mock.Mock <IRecipeSearchProvider> ()
                .Setup(x => x.RunSearch(searchParams, "123", "abc"))
                .Returns(Task.FromResult(expected));

                RecipeProviderImpl sut    = mock.Create <RecipeProviderImpl> ();
                RecipePayload      actual = await sut.GetRecipientsFromSearch(searchParams);

                Assert.True(JsonCompare.Compare(expected, actual));
            }
        }
예제 #2
0
        public async Task RecipeLookup_MissingSlackSecret_ReturnsNoRowsAndWarningAsync(string slackSecret)
        {
            RecipePayload expected = new RecipePayload();

            expected.Q       = "chicken";
            expected.From    = 0;
            expected.To      = 10;
            expected.More    = false;
            expected.Count   = 0;
            expected.Warning = "Configuration Error: Missing SlackSecret.";
            expected.Hits    = new List <Hit> ();

            SearchParams searchParams = new SearchParams("chicken", 0, 10);

            using (AutoMock mock = AutoMock.GetLoose()) {
                mock.Mock <IApiConfigProvider> ()
                .Setup(x => x.GetApiConfigSettings())
                .Returns(new ApiConfigSettings("123", "abc", slackSecret));

                mock.Mock <IRecipeSearchProvider> ()
                .Setup(x => x.RunSearch(searchParams, "123", "abc"))
                .Returns(Task.FromResult(expected));

                RecipeProviderImpl sut    = mock.Create <RecipeProviderImpl> ();
                RecipePayload      actual = await sut.GetRecipientsFromSearch(searchParams);

                Assert.True(JsonCompare.Compare(expected, actual));
            }
        }
예제 #3
0
        public async Task RecipeLookup_WithEmptyStringSearchQuery_ReturnsNoRowsAndWarningAsync(
            string searchTerm
            )
        {
            RecipePayload expected = new RecipePayload();

            expected.Q       = searchTerm;
            expected.From    = 0;
            expected.To      = 10;
            expected.More    = false;
            expected.Count   = 0;
            expected.Warning = "Search term cannot be empty or null.";
            expected.Hits    = new List <Hit> ();

            SearchParams searchParams = new SearchParams(searchTerm, 0, 10);

            using (AutoMock mock = AutoMock.GetLoose()) {
                mock.Mock <IApiConfigProvider> ()
                .Setup(x => x.GetApiConfigSettings())
                .Returns(new ApiConfigSettings("123", "abc", "hello"));

                mock.Mock <IRecipeSearchProvider> ()
                .Setup(x => x.RunSearch(searchParams, "123", "abc"))
                .Returns(Task.FromResult(expected));

                RecipeProviderImpl sut    = mock.Create <RecipeProviderImpl> ();
                RecipePayload      actual = await sut.GetRecipientsFromSearch(searchParams);

                Assert.True(JsonCompare.Compare(expected, actual));
            }
        }
예제 #4
0
        public async Task RecipeLookup_WithSearchQuery_ReturnsCorrectListAsync()
        {
            List <Hit> hits = SampleData.SampleHits();

            const string searchTerm = "Chicken";

            RecipePayload expected = new RecipePayload();

            expected.Q       = searchTerm;
            expected.From    = 0;
            expected.To      = 10;
            expected.More    = true;
            expected.Count   = 100000;
            expected.Warning = "";
            expected.Hits    = hits;

            SearchParams searchParams = new SearchParams(searchTerm, 0, 10);

            using (AutoMock mock = AutoMock.GetLoose()) {
                mock.Mock <IApiConfigProvider> ()
                .Setup(x => x.GetApiConfigSettings())
                .Returns(new ApiConfigSettings("123", "abc", "hello"));

                mock.Mock <IRecipeSearchProvider> ()
                .Setup(x => x.RunSearch(searchParams, "123", "abc"))
                .Returns(Task.FromResult(expected));

                RecipeProviderImpl sut    = mock.Create <RecipeProviderImpl> ();
                RecipePayload      actual = await sut.GetRecipientsFromSearch(searchParams);

                Assert.True(JsonCompare.Compare(expected, actual));
            }
        }
        public JsonCompare findScoreByCollegeCompared(string majorCode, IList <string> collegeCodes, int year)
        {
            var jsonCompare         = new JsonCompare();
            var majorName           = _majorRepository.findByCode(majorCode).Result.name;
            var jsonCompareColleges = new List <JsonCompareColleges>();

            var majorColleges = _majorCollegeRepository.findScoreByCollegeCompared(majorCode, collegeCodes, year);

            foreach (var mc in majorColleges)
            {
                if (mc == null)
                {
                    continue;
                }
                var jsonCC = new JsonCompareColleges();

                jsonCC.collegeCode = mc.CollegeEntityId;
                jsonCC.collegeName = _collegeRepository.findByCode(mc.CollegeEntityId).Result.name;
                jsonCC.groupCode   = mc.groupCode;
                jsonCC.score       = mc.score;

                jsonCompareColleges.Add(jsonCC);
            }

            jsonCompare.majorCode = majorCode;
            jsonCompare.majorName = majorName;
            jsonCompare.year      = year;
            jsonCompare.colleges  = jsonCompareColleges;

            return(jsonCompare);
        }
예제 #6
0
        public void CompareCheckMissingModules()
        {
            CurrentProject.SetProjectPath(@"C:/project/");
            List <string> testAllLanguages = new List <string> {
                "en"
            };

            CurrentProject.SetAllLanguage(testAllLanguages);

            MockFileSystem mockFileSystem = new MockFileSystem(new Dictionary <string, MockFileData>
            {
                { Path.Combine(CurrentProject.Path, testAllLanguages[0], "global.json"), new MockFileData("{'home':'town'}") },
                { Path.Combine(CurrentProject.Path, testAllLanguages[0], "home.json"), new MockFileData("{'living':'fun'}") },
                { Path.Combine(CurrentProject.Path, "Meta", "global.json"), new MockFileData("{'home':'otherstuf'}") },
                { Path.Combine(CurrentProject.Path, "Meta", "Default", "global.json"), new MockFileData("{'home':''}") }
            });

            JsonCompare jsonCompare  = new JsonCompare(mockFileSystem);
            bool        checkMissing = jsonCompare.Compare();

            if (checkMissing)
            {
                Assert.Fail();
            }
        }
        private void OnChooseJsonFileCommand(string param)
        {
            ErrorString = string.Empty;
            OpenFileDialog dialog = new OpenFileDialog();

            dialog.Filter = "Json files (*.json)|*.json";
            dialog.Title  = "Please select an Json.";
            dialog.ShowDialog();
            //check if a file has been choosen
            if (dialog.FileName.Trim() != string.Empty)
            {
                if (param == "first")
                {
                    FirstPath    = dialog.FileName;
                    JsonCompare1 = new JsonCompare(FirstPath);
                    ErrorString  = JsonCompare1.StringError;
                }
                else
                {
                    SecPath      = dialog.FileName;
                    JsonCompare2 = new JsonCompare(dialog.FileName);
                    ErrorString  = JsonCompare2.StringError;
                }
            }
        }
예제 #8
0
        public static void Main(string[] args)
        {
            var comparer      = new JsonCompare();
            var compareJsons  = comparer.ParseJsonFiles(JsonFileA, JsonFileB);
            var intersectPks  = comparer.IntersectPrimaryKeys(compareJsons);
            var changedValues = comparer.IntersectChangedValues(compareJsons);


            ConsoleHelpers.PrintObject(changedValues, IsOutputFormatted);
            ConsoleHelpers.PrintObject(intersectPks.JsonAPrimaryKeys, IsOutputFormatted);
            ConsoleHelpers.PrintObject(intersectPks.JsonBPrimaryKeys, IsOutputFormatted);
        }