예제 #1
0
        public void TestSatisfiabilityNoShips()
        {
            var shipTarget = new ShipTarget();

            Assert.AreEqual(Satisfiability.SATISFIED, shipTarget.GetSatisfiability(new int[2] {
                0, 0
            }));
            Assert.AreEqual(Satisfiability.VIOLATED, shipTarget.GetSatisfiability(new int[2] {
                0, 1
            }));
            Assert.AreEqual(Satisfiability.VIOLATED, shipTarget.GetSatisfiability(new int[2] {
                0, 2
            }));
        }
예제 #2
0
        public void TestSatisfiabilitySeveralLength()
        {
            var shipTarget = new ShipTarget();

            shipTarget[1] = 2;
            shipTarget[2] = 1;

            Assert.AreEqual(Satisfiability.SATISFIABLE, shipTarget.GetSatisfiability(new int[3] {
                0, 0, 0
            }));
            Assert.AreEqual(Satisfiability.SATISFIABLE, shipTarget.GetSatisfiability(new int[3] {
                0, 0, 1
            }));
            Assert.AreEqual(Satisfiability.VIOLATED, shipTarget.GetSatisfiability(new int[3] {
                0, 0, 2
            }));
            Assert.AreEqual(Satisfiability.SATISFIED, shipTarget.GetSatisfiability(new int[3] {
                0, 2, 1
            }));
            Assert.AreEqual(Satisfiability.VIOLATED, shipTarget.GetSatisfiability(new int[3] {
                0, 3, 1
            }));
            Assert.AreEqual(Satisfiability.VIOLATED, shipTarget.GetSatisfiability(new int[3] {
                0, 3, 2
            }));
        }
예제 #3
0
        public void TestSatisfiabilitySingleLength()
        {
            var shipTarget = new ShipTarget();

            shipTarget[1] = 3;

            Assert.AreEqual(Satisfiability.SATISFIABLE, shipTarget.GetSatisfiability(new int[2] {
                0, 0
            }));
            Assert.AreEqual(Satisfiability.SATISFIABLE, shipTarget.GetSatisfiability(new int[2] {
                0, 1
            }));
            Assert.AreEqual(Satisfiability.SATISFIABLE, shipTarget.GetSatisfiability(new int[2] {
                0, 2
            }));
            Assert.AreEqual(Satisfiability.SATISFIED, shipTarget.GetSatisfiability(new int[2] {
                0, 3
            }));
            Assert.AreEqual(Satisfiability.VIOLATED, shipTarget.GetSatisfiability(new int[2] {
                0, 4
            }));
            Assert.AreEqual(Satisfiability.VIOLATED, shipTarget.GetSatisfiability(new int[2] {
                0, 5
            }));
        }