示例#1
0
    // Start is called before the first frame update
    void Start()
    {
        var utm0 = new UTMatrix <int>(2);

        utm0.Set(0, 0, 99);
        Assert.AreEqual(99, utm0.Get(0, 0));
        Assert.AreEqual(default(int), utm0.Get(0, 1));
        Assert.AreEqual(default(int), utm0.Get(1, 1));
        utm0.Set(1, 1, 88);
        Assert.AreEqual(88, utm0.Get(1, 1));
        YXAssert.ExpectException <System.NotSupportedException>(utm0, "Set", 1, 0, 5);
        YXAssert.ExpectException <System.NotSupportedException>(utm0, "Get", 1, 0);
    }
    // Start is called before the first frame update
    void Start()
    {
        Debug.Log("TestSwapChain begin");

        var chain = new SwapChain <string>();

        chain.Clear();
        chain.AddFront("b1");
        chain.AddBack("b2");
        Debug.Assert(chain.GetFront() == "b1");
        Debug.Assert(chain.GetBack() == "b2");
        Error.Catch <System.IndexOutOfRangeException>(() => chain.GetBack(1));
        chain.Swap();
        Debug.Assert(chain.GetFront() == "b2");
        Debug.Assert(chain.GetBack() == "b1");
        Error.Catch <System.IndexOutOfRangeException>(() => chain.GetBack(1));

        chain.Clear();
        chain.AddFront("b1");
        chain.AddBack("b2");
        chain.AddBack("b3");
        Debug.Assert(chain.GetFront() == "b1");
        Debug.Assert(chain.GetBack() == "b2");
        Debug.Assert(chain.GetBack(1) == "b3");
        Error.Catch <System.IndexOutOfRangeException>(() => chain.GetBack(2));
        chain.Swap();
        Debug.Assert(chain.GetFront() == "b2");
        Debug.Assert(chain.GetBack() == "b3");
        Debug.Assert(chain.GetBack(1) == "b1");
        Error.Catch <System.IndexOutOfRangeException>(() => chain.GetBack(2));
        chain.Swap();
        Debug.Assert(chain.GetFront() == "b3");
        Debug.Assert(chain.GetBack() == "b1");
        Debug.Assert(chain.GetBack(1) == "b2");
        Error.Catch <System.IndexOutOfRangeException>(() => chain.GetBack(2));
        chain.Swap();
        Debug.Assert(chain.GetFront() == "b1");
        Debug.Assert(chain.GetBack() == "b2");
        Debug.Assert(chain.GetBack(1) == "b3");
        Error.Catch <System.IndexOutOfRangeException>(() => chain.GetBack(2));

        chain.Clear();
        chain.AddBack("b1");
        chain.AddBack("b2");
        Error.Catch <System.IndexOutOfRangeException>(() => chain.GetFront());
        Debug.Assert(chain.GetBack() == "b1");
        Error.Catch <System.IndexOutOfRangeException>(() => chain.GetBack(1));
        chain.Swap();
        Debug.Assert(chain.GetFront() == "b1");
        Debug.Assert(chain.GetBack() == "b2");
        Error.Catch <System.IndexOutOfRangeException>(() => chain.GetBack(1));
        chain.Swap();
        Debug.Assert(chain.GetFront() == "b2");
        Debug.Assert(chain.GetBack() == "b1");
        Error.Catch <System.IndexOutOfRangeException>(() => chain.GetBack(1));
        chain.Swap();
        Debug.Assert(chain.GetFront() == "b1");
        Debug.Assert(chain.GetBack() == "b2");
        Error.Catch <System.IndexOutOfRangeException>(() => chain.GetBack(1));

        Debug.Log("TestSwapChain end");
    }