UnityでC#を用いています。
独自クラスをリストで扱いたいのですが、要素を一行で追加しようとするとエラーが出てしまいます。

using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class TEST : MonoBehaviour {
    public class test {
        public int    I;
        public float  F;
        public string S;
    }

    private List<test> qwe = new List<test>();
    private List<string> asd = new List<string>();

    void Start() {
        asd.Add("あああ");

        test q = new test();
        q.I = 1;
        q.F = 2.5f;
        q.S = "いいい";
        qwe.Add(q); // バラバラなら追加できた

        qwe.Add (new test(2, 3.5f, "ううう")); // この方法でできるはず?

        Debug.Log(asd[0]+"  "+qwe[0].S+"  "+qwe[1].S);
        Debug.Break();
    }
}

発生したエラーは次の3つです。

Assets/Scripts/TEST.cs(24,51): error CS1729: The type `TEST.test' does not contain a constructor that takes `3' arguments

Assets/Scripts/TEST.cs(24,21): error CS1502: The best overloaded method match for `System.Collections.Generic.List<TEST.test>.Add(TEST.test)' has some invalid arguments

Assets/Scripts/TEST.cs(24,21): error CS1503: Argument `#1' cannot convert `object' expression to type `TEST.test'

サイト内のコードをコピーしたりもしたのですが、何故か動作しません。
正常に追加するにはどうしたら良いでしょうか?