示例#1
0
        public void TestDirectoryPath_ComesFromProject()
        {
            var mockedProject   = Mock.Of <Project>(p => p.FullName == @"c:\Full\Project\Path");
            var objectUnderTest = new JsonProject(mockedProject);

            Assert.AreEqual(@"c:\Full\Project", objectUnderTest.DirectoryPath);
        }
示例#2
0
 public IEnumerable <JsonMergeMethod> GetJsonMergeMethods(JsonProject project, JsonMergeEnvironment environment)
 {
     return(new List <JsonMergeMethod>
     {
         new JsonMergeMethod
         {
             method = WorkItemQueryMethod.State,
             name = "State",
             selected = true,
             options = environment.states.Select(state => new JsonMergeMethodOption
             {
                 project = project,
                 method = WorkItemQueryMethod.State,
                 methodValue = state,
                 selected = true
             })
         },
         new JsonMergeMethod
         {
             method = WorkItemQueryMethod.SavedQuery,
             name = "Saved Query"
         },
         new JsonMergeMethod
         {
             method = WorkItemQueryMethod.DynamicQuery,
             name = "Dynamic Query"
         }
     });
 }
示例#3
0
        public void TestConstructor_SetsProject()
        {
            var mockedProject   = Mock.Of <Project>();
            var objectUnderTest = new JsonProject(mockedProject);

            Assert.AreEqual(mockedProject, objectUnderTest.Project);
        }
示例#4
0
    public IEnumerator BuildCodeCity(JsonProject JsonProjectToBuild)
    {
        Debug.Log(JsonProjectToBuild.views[0].href);
        WWW complexityUrl = new WWW(JsonProjectToBuild.views[0].href);

        yield return(complexityUrl);

        if (complexityUrl.error != null)
        {
            Debug.Log("ERROR: " + complexityUrl.error);
        }
        else
        {
            Debug.Log("No Error");
            Debug.Log(complexityUrl.text);

            ProjectView projectView = ProcessProjectData(complexityUrl.text);

            /*foreach (ProjectData projectdata in projectView.data)
             * {
             *  CreateGameObjectFromProjectData(projectdata);
             * }*/
            CreateGameObjectFromProjectData(projectView.data[0]);
        }
    }
示例#5
0
        partial void FromToken_PreCondition(JsonProject instance, ref JToken json)
        {
            JObject jobject = JObject.Parse(CannedMessages.JsonProjects);
            var     array   = jobject["value"].Value <JArray>();

            json = array[0];
        }
示例#6
0
    public CityBuilder cityBuilder;                     //Script to build the city on the table


    /* * * CreateButtons-Function
     * Create a Button from a Json Project - setting the Text of the Button to the name of the project.
     * Fix the transform of that new Button.
     * Add a function to build up the CodeCity out of that project when the Button is pressed.
     * */


    public void createButtons(JsonProject projectToCreateButtonOf)
    {
        Button mybutton      = Instantiate(buttonPrefab);
        Button destroyButton = Instantiate(buttonPrefab);

        mybutton.transform.SetParent(menu.transform);
        mybutton.GetComponentInChildren <Text>().text = projectToCreateButtonOf.name;
        mybutton.transform.localScale    = new Vector3((float)0.5, (float)0.5, (float)0.5);
        mybutton.transform.localPosition = new Vector3(-5, 16, (float)-0.01);
        mybutton.transform.localRotation = new Quaternion(0, 0, 0, 0);
        mybutton.interactable            = true;
        mybutton.onClick.AddListener(delegate {
            StartCoroutine(cityBuilder.BuildCodeCity(projectToCreateButtonOf));
            mybutton.interactable      = false;
            destroyButton.interactable = true;
        });
        destroyButton.transform.SetParent(menu2.transform);
        destroyButton.GetComponentInChildren <Text>().text = "Destroy City";
        destroyButton.transform.localScale    = new Vector3((float)0.5, (float)0.5, (float)0.5);
        destroyButton.transform.localPosition = new Vector3(-5, 16, (float)-0.01);
        destroyButton.transform.localRotation = new Quaternion(0, 0, 0, 0);
        destroyButton.onClick.AddListener(delegate {
            cityBuilder.DestroyBuiltCity(cityBuilder.origin);
            mybutton.interactable      = true;
            destroyButton.interactable = false;
        });
    }
示例#7
0
        public void TestFullPath_ComesFromProject()
        {
            const string testProjectName = @"c:\Full\Project\Name";
            var          mockedProject   = Mock.Of <Project>(p => p.FullName == testProjectName);
            var          objectUnderTest = new JsonProject(mockedProject);

            Assert.AreEqual(testProjectName, objectUnderTest.FullPath);
        }
示例#8
0
        /// <summary>
        ///     Gets the project.
        /// </summary>
        /// <param name="projectName">Name of the project.</param>
        /// <returns>Task&lt;JsonProject&gt;.</returns>
        public async Task <JsonProject> GetProject(string projectName)
        {
            StructuredHttpExchange exchange = StructuredHttpExchange.Get(ProjectRestCalls.ProjectByName);

            exchange.SetRoute("{projectName}", projectName);
            JsonProject result = await ProcessCollectionRequest(exchange, JsonProject.FromToken);

            return(result);
        }
示例#9
0
    /* * * LoadProjects-Function
     * Create a JsonProject-Object from a given File on the Internet
     * Start the Function to create a button of that JsonProject-File
     */

    void LoadProjects(WWW url)
    {
        JsonProject jsonProjectToLoad = ProcessJson(url.text);

        //projectList[counter] = new ProjectList(jsonProject);
        //Debug.Log(projectList[0].name);

        Debug.Log(jsonProjectToLoad.name);
        buttonCreator.createButtons(jsonProjectToLoad);
    }
示例#10
0
        internal static JsonProject GetInstance([CallerMemberName] string callerName = "")
        {
            JToken json = new JObject();

            JsonSource(ref json);
            JsonProject instance = JsonProject.FromToken(json);

            InstanceFactory(ref instance, callerName);
            return(instance);
        }
示例#11
0
    /* * * CreateButtons-Function
     * Create a Button from a Json Project - setting the Text of the Button to the name of the project.
     * Fix the transform of that new Button.
     * Add a function to build up the CodeCity out of that project when the Button is pressed.
     * */ 


    public void createButtons(JsonProject projectToCreateButtonOf)
    {
        Button mybutton = Instantiate(prefab);
        mybutton.transform.SetParent(menu.transform);
        mybutton.GetComponentInChildren<Text>().text = projectToCreateButtonOf.name;
        mybutton.transform.localScale = new Vector3((float)0.5, (float)0.5, (float)0.5);
        mybutton.transform.localPosition = new Vector3(-5, 16, (float)-0.01);
        mybutton.transform.localRotation = new Quaternion(0,0,0,0);
        //mybutton.onClick = cityBuilder.buildCity(projectToCreateButoonOf)  ; Add function here to build the CodeCity
        StartCoroutine(cityBuilder.BuildCodeCity(projectToCreateButtonOf));
        //Debug.Log(" Hello");
    }
示例#12
0
        public void WriteProject(int projectId, JsonProject jsonProject)
        {
            var fileName = $"project-{projectId}.json";
            var json     = JsonConvert.SerializeObject(jsonProject);
            var filePath = $"{_gitlabManagerCacheFolder}/{fileName}";

            var file = File.CreateText(filePath);

            file.Write(json);
            file.Flush();
            file.Close();
        }
示例#13
0
        private async Task PatchDbProject(DbProject dbProject, JsonProject gitlabProject)
        {
            var lastUpdatedUnixTime = gitlabProject.LastActivityAt.ToUnixTimestamp();

            dbProject.LastUpdated       = lastUpdatedUnixTime;
            dbProject.Description       = gitlabProject.Description;
            dbProject.NameWithNamespace = gitlabProject.NameWithNamespace;
            dbProject.TagList           = gitlabProject.TagList.ToArray();

            var projectId = await _databaseService.UpdateProject(dbProject);

            _jsonCache.WriteProject(projectId, gitlabProject);
        }
示例#14
0
        private async Task UpdateProjectForAccount(DbAccount account, JsonProject gitlabProject)
        {
            var oldDbProject = _databaseService.GetProject(account.Id, gitlabProject.Id);

            if (oldDbProject == null)
            {
                await CreateDbProject(account, gitlabProject);
            }
            else
            {
                await PatchDbProject(oldDbProject, gitlabProject);
            }
        }
示例#15
0
        public void FromToken_UnitTest()
        {
            JToken      token   = default(JToken);
            JsonProject _retVal = default(JsonProject);

            ExecuteMethod(
                () => { return(GetInstance()); },
                instance =>
            {
                token = default(JToken);     //No Constructor
                FromToken_PreCondition(instance, ref token);
            },
                instance => { return(_retVal = JsonProject.FromToken(token)); },
                instance => { FromToken_PostValidate(instance, token, _retVal); });
        }
示例#16
0
 public void Id_UnitTest()
 {
     ExecuteProperty(
         () =>
         // Create Test Instance
     {
         JsonProject instance = GetInstance();
         return(instance);
     },
         null, null, null, // No Set Accessor
         // Invoke Getter
         instance => { return(instance.Id); },
         // Validate Get Operation
         (instance, setValue, getValue) => { });
 }
示例#17
0
        private async Task CreateDbProject(DbAccount account, JsonProject gitlabProject)
        {
            var lastUpdatedUnixTime = gitlabProject.LastActivityAt.ToUnixTimestamp();

            var dbProject = new DbProject
            {
                Account           = account,
                GitlabProjectId   = gitlabProject.Id,
                Description       = gitlabProject.Description,
                LastUpdated       = lastUpdatedUnixTime,
                NameWithNamespace = gitlabProject.NameWithNamespace,
                TagList           = gitlabProject.TagList.ToArray()
            };
            var projectId = await _databaseService.InsertProject(dbProject);

            _jsonCache.WriteProject(projectId, gitlabProject);
        }
示例#18
0
    public IEnumerator BuildCodeCity(JsonProject JsonProjectToBuild)
    {
        Debug.Log(JsonProjectToBuild.views[0].href);
        WWW complexityUrl = new WWW(JsonProjectToBuild.views[0].href);

        yield return(complexityUrl);

        if (complexityUrl.error != null)
        {
            Debug.Log("ERROR: " + complexityUrl.error);
        }
        else
        {
            ProjectView projectView = ProcessProjectData(complexityUrl.text);
            origin = CreateGameObjectFromProjectData(projectView.data[0], origin);
            Algorithm();
        }
    }
示例#19
0
        /// <summary>
        /// Init ViewModel for projectId
        /// </summary>
        /// <param name="projectId">Internal ProjectId (Database) that should be opened</param>
        public async void Init(int projectId)
        {
            // get project info from database
            _dbProject = _gitlabProjectManager.GetProject(projectId);

            // get json project meta data
            _jsonProject = await _gitlabProjectManager.GetCachedProjectMeta(_dbProject);

            // init download for specific gitlab account
            _gitlabProjectDownloader.InitForClient(
                new GitlabAccountClientImpl(_dbProject.Account.HostUrl, _dbProject.Account.AuthenticationToken)
                );
            // delete local folder in database if folder not present on client
            if (!string.IsNullOrEmpty(_dbProject.LocalFolder) && !Directory.Exists(_dbProject.LocalFolder))
            {
                _databaseService.UpdateLocalFolderForProject(_dbProject, "");
            }

            RaiseUpdateProject();
        }
示例#20
0
 partial void GetHashCode_PostValidate(JsonProject instance, Int32 _retVal);
示例#21
0
 public JsonMergeRequest(MergeViewModel model)
 {
     project     = new JsonProject(model.Project);
     environment = new JsonMergeEnvironment(model.Environment);
     apiPath     = model.ApiPath;
 }
示例#22
0
 partial void Url_SetCondition(ref JsonProject instance, ref String setValue);
示例#23
0
 partial void GetHashCode_PreCondition(JsonProject instance);
示例#24
0
 partial void ToString_PostValidate(JsonProject instance, String _retVal);
示例#25
0
 partial void ToString_PreCondition(JsonProject instance);
示例#26
0
 partial void JsonValue_SetCondition(ref JsonProject instance, ref JToken setValue);
示例#27
0
 static partial void InstanceFactory(ref JsonProject instance, [CallerMemberName] string callerName = "");
示例#28
0
 partial void Id_SetCondition(ref JsonProject instance, ref Guid setValue);
示例#29
0
 partial void GetType_PreCondition(JsonProject instance);
示例#30
0
 partial void GetType_PostValidate(JsonProject instance, Type _retVal);