테스트를 위한 난수 생성 도구를 만들어보았습니다.

제가 만든 난수 생성 도구 Randora 입니다. 롼도라? 란도라? Random + Pandora 의 합성어입니다.(GPT)

어떤 데이터를 정의하고 각 속성에 무작위 값을 채워야 하는 경우가 발생합니다.

아시다시피 Random 객체는 몇몇 타입에 대한 난수만 가져올 수 있기 때문에 다양한 타입에 대한 값을 생성하려면

별도로 만들어야 합니다.

제가 만든 것은 자주 사용되는 타입에 대해서 쉽게 무작위 값을 만들 수 있는 여러가지 도구를 제공합니다.

primitive type 에 대응하는 메소드가 있습니다.

R.Int32(), R.BigInteger(), R.TimeSpan(), R.Positive(), R.Negative() 처럼요.

그리고 collection 의 경우에는 primitive type 과 조합해서 사용합니다.

R.Array(R.Int32), R.List(R.BigInteger), R.Dictionary(R.String, R.Int32)

tuple, value_tuple, immutable_collection, 그리고 nullable 까지 다양한 타입에 대해서 무작위 값을 생성할 수 있습니다.

collection 에서 무작위 값을 가져오는 R.Random, R.RandomOrDefault

조건을 만족할때까지 무작위 값을 가져오는 R.Try

무작위 길이를 가져오는 R.Length

일정 확률로 실행 여부를 판단하는 R.Chance 등 여러가지 기능을 제공합니다.

엔트리브소프트 시절부터 개인적으로 만들어서 사용해오던 것들인데 이번에 저장소로 만들어서 라이브러리 형태로 제작하게 되었습니다.

15 Likes