public void EqualsTest5() { var a = new FaceVal(22); var result = a.Equals(22u); Assert.IsTrue(result, "EqualsTest5 FAIL"); }
public void FaceValTest() { var a = new FaceVal(20); var result = a.Val == 20; Assert.IsTrue(result, "FaceValTest FAIL"); var b = (FaceVal)22u; result = b.Val == 22; Assert.IsTrue(result, "FaceValTest FAIL"); var c = (FaceVal)'A'; result = c.Val == 'A'; Assert.IsTrue(result, "FaceValTest FAIL"); var d = new FaceVal(null); result = d.Val == 0; Assert.IsTrue(result, "FaceValTest FAIL"); var e = new FaceVal(); result = e.Val == 0; Assert.IsTrue(result, "FaceValTest FAIL"); }
public void EqualsTest4() { var a = new FaceVal('B'); var result = a.Equals('B'); Assert.IsTrue(result, "EqualsTest4 FAIL"); }
public void EqualsTest1() { var a = new FaceVal(20); var b = new FaceVal(20); var result = a.Equals(b); Assert.IsTrue(result, "EqualsTest1 FAIL"); }
/// <summary> /// Search for one corner and orientation /// </summary> /// <param name="color1">First color of where to search</param> /// <param name="color2">Second color of where search</param> /// <param name="color3">Third color of where to search</param> /// <param name="a">First color to search for</param> /// <param name="b">Second color to search for</param> /// <param name="c">Third color to search for</param> /// <param name="resultBase">Enum name base</param> /// <returns>Found corner. /// The first letters of the returned enum are the name of the cubie /// The numbers are the orientation of the cubie</returns> private static CornerName find_corner(FaceVal color1, FaceVal color2, FaceVal color3, FaceVal a, FaceVal b, FaceVal c, CornerName resultBase) { if (a == color1) { if (b == color2) { if (c == color3) { return(resultBase + 0); } } else if (b == color3) { if (c == color2) { return(resultBase + 1); } } } else if (a == color2) { if (b == color1) { if (c == color3) { return(resultBase + 2); } } else if (b == color3) { if (c == color1) { return(resultBase + 3); } } } else if (a == color3) { if (b == color1) { if (c == color2) { return(resultBase + 4); } } else if (b == color2) { if (c == color1) { return(resultBase + 5); } } } return(CornerName.CornerNone); }
public void CompareToTest1() { var a = new FaceVal(20); var result1 = a.CompareTo(10); var result2 = a.CompareTo(20); var result3 = a.CompareTo(30); Assert.IsTrue(result1 > 0, "CompareToTest FAIL"); Assert.IsTrue(result2 == 0, "CompareToTest FAIL"); Assert.IsTrue(result3 < 0, "CompareToTest FAIL"); }
public void GetHashCodeTest() { var a = new FaceVal(20); var b = new FaceVal(20); var c = new FaceVal(90); var hash1 = a.GetHashCode(); var hash2 = b.GetHashCode(); var hash3 = c.GetHashCode(); Assert.IsTrue(hash1 == hash2, "GetHashCodeTest1 FAIL"); Assert.IsTrue(hash1 != hash3, "GetHashCodeTest2 FAIL"); }
public void CompareToTest3() { var a = new FaceVal('B'); var result = a.CompareTo('B') == 0; Assert.IsTrue(result, "CompareToTest3 FAIL"); result = a.CompareTo('A') > 0; Assert.IsTrue(result, "CompareToTest3 FAIL"); result = a.CompareTo('C') < 0; Assert.IsTrue(result, "CompareToTest3 FAIL"); }
public void CompareToTest2() { var a = new FaceVal('A'); var b = new FaceVal('B'); var c = new FaceVal('C'); var result = b.CompareTo(a) > 0; Assert.IsTrue(result, "EqualsTest4 FAIL"); result = b.CompareTo(b) == 0; Assert.IsTrue(result, "EqualsTest4 FAIL"); result = b.CompareTo(c) < 0; Assert.IsTrue(result, "EqualsTest4 FAIL"); }
public void EqualsTest() { var a = new FaceVal(20); object b = a; var result = a.Equals(b); Assert.IsTrue(result, "EqualsTest FAIL"); object c = new FaceVal(20); result = a.Equals(c); Assert.IsTrue(result, "EqualsTest FAIL"); result = a.Equals((object)null); Assert.IsFalse(result, "EqualsTest FAIL"); }
/// <summary> /// Search for a corner /// The first letters of the returned enum are the name of the cubie /// The numbers are the orientation of the cubie /// </summary> /// <param name="color1">First color of corner</param> /// <param name="color2">Second color of corner</param> /// <param name="color3">Third color of corner</param> /// <returns>Found corner and orientation or cubie</returns> public CornerName search_corner(FaceVal color1, FaceVal color2, FaceVal color3) { // CUBIE Up Left Front var pos = find_corner(color1, color2, color3, Cube.Up[CubeSize - 1, 0], Cube.Left[0, CubeSize - 1], Cube.Front[0, 0], CornerName.CornerUlf); if (pos != CornerName.CornerNone) { return(pos); } // CUBIE Up Left Back pos = find_corner(color1, color2, color3, Cube.Up[0, 0], Cube.Left[0, 0], Cube.Back[0, CubeSize - 1], CornerName.CornerUlb); if (pos != CornerName.CornerNone) { return(pos); } // CUBIE Up Right Front pos = find_corner(color1, color2, color3, Cube.Up[CubeSize - 1, CubeSize - 1], Cube.Right[0, 0], Cube.Front[0, CubeSize - 1], CornerName.CornerUrf); if (pos != CornerName.CornerNone) { return(pos); } // CUBIE Up Right Back pos = find_corner(color1, color2, color3, Cube.Up[0, CubeSize - 1], Cube.Right[0, CubeSize - 1], Cube.Back[0, 0], CornerName.CornerUrb); if (pos != CornerName.CornerNone) { return(pos); } // CUBIE Down Left Front pos = find_corner(color1, color2, color3, Cube.Down[0, 0], Cube.Left[CubeSize - 1, CubeSize - 1], Cube.Front[CubeSize - 1, 0], CornerName.CornerDlf); if (pos != CornerName.CornerNone) { return(pos); } // CUBIE Down Left Back pos = find_corner(color1, color2, color3, Cube.Down[CubeSize - 1, 0], Cube.Left[CubeSize - 1, 0], Cube.Back[CubeSize - 1, CubeSize - 1], CornerName.CornerDlb); if (pos != CornerName.CornerNone) { return(pos); } // CUBIE Down Right Front pos = find_corner(color1, color2, color3, Cube.Down[0, CubeSize - 1], Cube.Right[CubeSize - 1, 0], Cube.Front[CubeSize - 1, CubeSize - 1], CornerName.CornerDrf); if (pos != CornerName.CornerNone) { return(pos); } // CUBIE Down Right Back pos = find_corner(color1, color2, color3, Cube.Down[CubeSize - 1, CubeSize - 1], Cube.Right[CubeSize - 1, CubeSize - 1], Cube.Back[CubeSize - 1, 0], CornerName.CornerDrb); return(pos); }
/// <summary> /// Searches for edge that matches the given face and color edge /// </summary> /// <param name="faceColor">Color of the face to search</param> /// <param name="color">Color of the edge to search</param> /// <returns>Position of edge</returns> public FaceName search_edge(FaceVal faceColor, FaceVal color) { if (Cube.Up[0, 1] == faceColor && Cube.Back[0, 1] == color) { return(FaceName.TopFaceUp); } if (Cube.Up[0, 1] == color && Cube.Back[0, 1] == faceColor) { return(FaceName.TopFaceUpReverse); } if (Cube.Up[1, 0] == faceColor && Cube.Left[0, 1] == color) { return(FaceName.TopFaceLeft); } if (Cube.Up[1, 0] == color && Cube.Left[0, 1] == faceColor) { return(FaceName.TopFaceLeftReverse); } if (Cube.Up[1, 2] == faceColor && Cube.Right[0, 1] == color) { return(FaceName.TopFaceRight); } if (Cube.Up[1, 2] == color && Cube.Right[0, 1] == faceColor) { return(FaceName.TopFaceRightReverse); } if (Cube.Up[2, 1] == faceColor && Cube.Front[0, 1] == color) { return(FaceName.TopFaceDown); } if (Cube.Up[2, 1] == color && Cube.Front[0, 1] == faceColor) { return(FaceName.TopFaceDownReverse); } if (Cube.Left[1, 2] == faceColor && Cube.Front[1, 0] == color) { return(FaceName.MiddleFaceLeft); } if (Cube.Left[1, 2] == color && Cube.Front[1, 0] == faceColor) { return(FaceName.MiddleFaceLeftReverse); } if (Cube.Front[1, 2] == faceColor && Cube.Right[1, 0] == color) { return(FaceName.MiddleFaceFront); } if (Cube.Front[1, 2] == color && Cube.Right[1, 0] == faceColor) { return(FaceName.MiddleFaceFrontReverse); } if (Cube.Right[1, 2] == faceColor && Cube.Back[1, 0] == color) { return(FaceName.MiddleFaceRight); } if (Cube.Right[1, 2] == color && Cube.Back[1, 0] == faceColor) { return(FaceName.MiddleFaceRightReverse); } if (Cube.Back[1, 2] == faceColor && Cube.Left[1, 0] == color) { return(FaceName.MiddleFaceBack); } if (Cube.Back[1, 2] == color && Cube.Left[1, 0] == faceColor) { return(FaceName.MiddleFaceBackReverse); } if (Cube.Down[0, 1] == faceColor && Cube.Front[2, 1] == color) { return(FaceName.BottomFaceUp); } if (Cube.Down[0, 1] == color && Cube.Front[2, 1] == faceColor) { return(FaceName.BottomFaceUpReverse); } if (Cube.Down[1, 0] == faceColor && Cube.Left[2, 1] == color) { return(FaceName.BottomFaceLeft); } if (Cube.Down[1, 0] == color && Cube.Left[2, 1] == faceColor) { return(FaceName.BottomFaceLeftReverse); } if (Cube.Down[1, 2] == faceColor && Cube.Right[2, 1] == color) { return(FaceName.BottomFaceRight); } if (Cube.Down[1, 2] == color && Cube.Right[2, 1] == faceColor) { return(FaceName.BottomFaceRightReverse); } if (Cube.Down[2, 1] == faceColor && Cube.Back[2, 1] == color) { return(FaceName.BottomFaceDown); } if (Cube.Down[2, 1] == color && Cube.Back[2, 1] == faceColor) { return(FaceName.BottomFaceDownReverse); } return(FaceName.FaceNone); }
public void ToStringTest() { var a = new FaceVal('A'); Assert.IsTrue(a.ToString() == "A"); }