public void ArbitraryTriangleRightArea() { TriangleArea triangle = new TriangleArea(6, 4, 5); double p = (6 + 4 + 5) * 0.5; double rightArea = Math.Sqrt(p * (p - 6) * (p - 4) * (p - 5)); Assert.AreEqual(rightArea, triangle.Area); }
private static void Act(int n, double expected) { var s = BuildT(n); var msg = $"Invalid answer for: \"{s}\""; var actual = TriangleArea.TArea(s); Assert.AreEqual(expected, actual, msg); }
public void Area_3_4_5() { double a = 3, b = 4, c = 5; double expected = 6; double actual = TriangleArea.Area(a, b, c); Assert.AreEqual(expected, actual); }
public void Area_2_4_8() { double a = 2, b = 4, c = 8; double expected = 4; double actual = TriangleArea.Area(a, b, c); Assert.AreEqual(expected, actual); }
public void RightValues_Test() { // Arrange double a = 6; double b = 8; double c = 10; double area1 = 24; double area2 = TriangleArea.Area(a, b, c); Assert.AreEqual(area1, area2); }
public void TriangleExists_Test() { double a = 1; double b = 2; double c = 3; try { TriangleArea.Area(a, b, c); } catch (ArgumentException e) { StringAssert.Contains(e.Message, ConstMessage.WrongValues); } }
public void SquaredParametersInfinity_Test() { double a = double.MaxValue / 2; double b = 15; double c = double.MaxValue - 10; try { TriangleArea.Area(a, b, c); } catch (ArgumentException e) { StringAssert.Contains(e.Message, ConstMessage.SquaredParameterInfinity); } }
public void IncorrectLegLength_Test() { double a = 9; double b = 9; double c = 8; try { TriangleArea.Area(a, b, c); } catch (ArgumentException e) { StringAssert.Contains(e.Message, ConstMessage.TwoBigEqualsSides); } }
public void NegativeValue_Test() { // Arrange double a = -6; double b = 8; double c = 10; try { TriangleArea.Area(a, b, c); } catch (ArgumentException e) { StringAssert.Contains(e.Message, ConstMessage.NegativeValues); } }
public override void OnInspectorGUI() { base.OnInspectorGUI(); GUILayout.Space(50); //if (!Role.Skin && Role.BaseLook.Length == 0) // Role.Skin = Role.GetComponentInChildren<SkinnedMeshRenderer>(); if (GUILayout.Button("Save")) { AssetDatabase.SaveAssets(); } if (GUILayout.Button("Build")) { AssetExporter.GetShaders(); AssetExporter.GetPublicAssets(); AssetExporter.BuildAssetBundles(this.Role.gameObject); Selection.activeObject = this.serializedObject.targetObject; } if (GUILayout.Button("生成控制器")) { if (Selection.activeObject != this.Role.gameObject) { return; } string rootpath = Path.GetDirectoryName(AssetDatabase.GetAssetPath(Selection.activeObject)); Selection.activeObject = AssetDatabase.LoadAssetAtPath(rootpath, typeof(Object)); Object[] clips = Selection.GetFiltered(typeof(AnimationClip), SelectionMode.DeepAssets); Animator animator = this.Role.gameObject.GetComponent <Animator>(); animator.runtimeAnimatorController = AssetExporter.CreateOverrideController(string.Format("{0}.controller", this.Role.gameObject.name), rootpath, clips); } if (GUILayout.Button("生成骨骼数据")) { if (Selection.activeObject != this.Role.gameObject) { return; } Transform[] bones = this.Role.gameObject.GetComponentsInChildren <Transform>(true); List <GameObject> golist = new List <GameObject>(); for (int i = 0; i < bones.Length; i++) { golist.Add(bones[i].gameObject); } this.Role.Bones = golist.ToArray(); } if (GUILayout.Button("复制动画")) { if (Role != null) { List <OverrideAnimiClip> list = new List <OverrideAnimiClip>(); Animator roleAnimator = Role.GetComponent <Animator>(); if (roleAnimator == null || !(roleAnimator.runtimeAnimatorController is AnimatorOverrideController) || roleAnimator.avatar == null) { return; } AnimatorOverrideController Controller = roleAnimator.runtimeAnimatorController as AnimatorOverrideController; List <KeyValuePair <AnimationClip, AnimationClip> > overrides = new List <KeyValuePair <AnimationClip, AnimationClip> >(); Controller.GetOverrides(overrides); for (int i = 0; i < overrides.Count; i++) { KeyValuePair <AnimationClip, AnimationClip> kvp = overrides[i]; if (kvp.Value == null) { continue; } list.Add(new OverrideAnimiClip(kvp.Key.name, kvp.Value)); } Role.AnimiClips = list.ToArray(); } } if (GUILayout.Button("添加目标")) { if (!ModelLoader.self) { return; } RoleObject target = ModelLoader.CreateRole(this.Role, false); target.transform.position = new Vector3(Random.Range(-5, 5), 0, Random.Range(10, 15)); target.transform.LookAt(ModelLoader.self.transform); target.tag = "target"; target.enabled = false; ModelLoader.targetList.Add(target); } if (GUILayout.Button("预览低模")) { if (!EditorApplication.isPlaying) { EditorUtility.DisplayDialog("Error", "需要在运行状态下才能进行该操作", "OK"); return; } ModelLoader.ResetPreviewingObject(); roleObject = ModelLoader.CreateRole(this.Role, false); roleObject.tag = "self"; ModelLoader.self = roleObject; ModelLoader.PreviewingObject = roleObject.gameObject; ModelLoader.SetupCamera(ModelLoader.PreviewingObject.transform); TriangleArea ta = roleObject.gameObject.AddComponent <TriangleArea>(); } if (GUILayout.Button("预览高模")) { if (!EditorApplication.isPlaying) { EditorUtility.DisplayDialog("Error", "需要在运行状态下才能进行该操作", "OK"); return; } ModelLoader.ResetPreviewingObject(); roleObject = ModelLoader.CreateRole(this.Role, true); roleObject.tag = "self"; ModelLoader.self = roleObject; ModelLoader.PreviewingObject = roleObject.gameObject; ModelLoader.SetupCamera(ModelLoader.PreviewingObject.transform); TriangleArea ta = roleObject.gameObject.AddComponent <TriangleArea>(); } //当Inspector 面板发生变化时保存数据 if (GUI.changed) { EditorUtility.SetDirty(target); } }
private void btnGo_Click(object sender, EventArgs e) { if (cbOperation.Text.Equals("Quadratic Solver")) { this.Hide(); QuadraticSolver qs = new QuadraticSolver(); qs.ShowDialog(); this.Close(); } else if (!cbOperation.Text.Equals("") && !cbShape.Text.Equals("")) { if (cbOperation.Text.Equals("Calculate Area")) { if (cbShape.Text.Equals("Circle")) { this.Hide(); CircleArea circleArea = new CircleArea(); circleArea.ShowDialog(); this.Close(); } else if (cbShape.Text.Equals("Square")) { this.Hide(); SquareArea squareArea = new SquareArea(); squareArea.ShowDialog(); this.Close(); } else if (cbShape.Text.Equals("Triangle")) { this.Hide(); TriangleArea triangleArea = new TriangleArea(); triangleArea.ShowDialog(); this.Close(); } } else if (cbOperation.Text.Equals("Calculate Perimeter")) { if (cbShape.Text.Equals("Circle")) { this.Hide(); CirclePerimeter circlePerimeter = new CirclePerimeter(); circlePerimeter.ShowDialog(); this.Close(); } else if (cbShape.Text.Equals("Square")) { this.Hide(); SquarePerimeter squarePerimeter = new SquarePerimeter(); squarePerimeter.ShowDialog(); this.Close(); } else if (cbShape.Text.Equals("Triangle")) { this.Hide(); TrianglePerimeter trianglePerimeter = new TrianglePerimeter(); trianglePerimeter.ShowDialog(); this.Close(); } } } }