Skip to content

Run Program

Run Program #163

GitHub Actions / Test Results succeeded Jan 27, 2024 in 1s

Test Results ✅

Tests passed successfully

✅ TestResults.trx

295 tests were completed in 3s with 291 passed, 0 failed and 4 skipped.

Test suite Passed Failed Skipped Time
CLVMDotNet.Tests.CLVM.BLS.TestStream 1✅ 0ms
CLVMDotNet.Tests.CLVM.Casts.IntFromBytes 15✅ 1ms
CLVMDotNet.Tests.CLVM.Casts.IntToBytes 26✅ 1ms
CLVMDotNet.Tests.CLVM.Casts.LimbsForInt 11✅ 6ms
CLVMDotNet.Tests.CLVM.CLVMObject.InstantiationTests 9✅ 22ms
CLVMDotNet.Tests.CLVM.HelperFunctions.MSBMask 12✅ 5ms
CLVMDotNet.Tests.CLVM.KeywordToAtomTests 32✅ 7ms
CLVMDotNet.Tests.CLVM.Operators.KeywordFromAtomTests 34✅ 3ms
CLVMDotNet.Tests.CLVM.Operators.OperatorTests 68✅ 2⚪ 90ms
CLVMDotNet.Tests.CLVM.SExp.AsBin 3✅ 223ms
CLVMDotNet.Tests.CLVM.SExp.Equals 1✅ 214ms
CLVMDotNet.Tests.CLVM.SExp.SExpTests 2✅ 4ms
CLVMDotNet.Tests.CLVM.SExp.To 9✅ 60ms
CLVMDotNet.Tests.Serialize.AsBin 2✅ 15ms
CLVMDotNet.Tests.Serialize.AtomFromStream 2✅ 12ms
CLVMDotNet.Tests.Serialize.CommonTests 1✅ 4ms
CLVMDotNet.Tests.Serialize.SexpBufferFromStream 4✅ 8ms
CLVMDotNet.Tests.Serialize.SExpFromStream 3✅ 6ms
CLVMDotNet.Tests.Tool.IRWriter.IRWriterTests 11✅ 82ms
CLVMDotNet.Tests.Tools.BinUtils.TypeForAtomTests 8✅ 5ms
CLVMDotNet.Tests.Tools.Clvmc.CompileCLVMText 1✅ 17ms
CLVMDotNet.Tests.Tools.IRReader.IrNewTests 1✅ 216ms
CLVMDotNet.Tests.Tools.IRReader.ReadIRTests 3✅ 1⚪ 56ms
CLVMDotNet.Tests.Tools.IRReader.TokenizeConsTests 1✅ 201ms
CLVMDotNet.Tests.Tools.IRReader.TokenizeHexTests 5✅ 10ms
CLVMDotNet.Tests.Tools.IRReader.TokenizeIntTests 5✅ 3ms
CLVMDotNet.Tests.Tools.IRReader.TokenizeSexpTests 1✅ 3ms
CLVMDotNet.Tests.Tools.IRReader.TokenizeSymbolTests 1✅ 0ms
CLVMDotNet.Tests.Tools.IRReader.TokenStreamTests 7✅ 1ms
CLVMDotNet.Tests.Tools.Stages.Stage2.BindingTests 1✅ 1⚪ 46ms
CLVMDotNet.Tests.Tools.UtilsTests 11✅ 1ms

✅ CLVMDotNet.Tests.CLVM.BLS.TestStream

✅ TestBLSStream

✅ CLVMDotNet.Tests.CLVM.Casts.IntFromBytes

✅ IntFromBytes_returns_expectedint(expectedNumberStr: "0", from_bytes: [])
✅ IntFromBytes_returns_expectedint(expectedNumberStr: "1", from_bytes: [1])
✅ IntFromBytes_returns_expectedint(expectedNumberStr: "1024", from_bytes: [4, 0])
✅ IntFromBytes_returns_expectedint(expectedNumberStr: "10241024", from_bytes: [0, 156, 68, 0])
✅ IntFromBytes_returns_expectedint(expectedNumberStr: "128", from_bytes: [0, 128])
✅ IntFromBytes_returns_expectedint(expectedNumberStr: "16", from_bytes: [16])
✅ IntFromBytes_returns_expectedint(expectedNumberStr: "2048", from_bytes: [8, 0])
✅ IntFromBytes_returns_expectedint(expectedNumberStr: "204820482048", from_bytes: [47, 176, 64, 136, 0])
✅ IntFromBytes_returns_expectedint(expectedNumberStr: "20482048204820482048", from_bytes: [1, 28, 62, 218, 82, ...])
✅ IntFromBytes_returns_expectedint(expectedNumberStr: "256", from_bytes: [1, 0])
✅ IntFromBytes_returns_expectedint(expectedNumberStr: "32", from_bytes: [32])
✅ IntFromBytes_returns_expectedint(expectedNumberStr: "4096", from_bytes: [16, 0])
✅ IntFromBytes_returns_expectedint(expectedNumberStr: "512", from_bytes: [2, 0])
✅ IntFromBytes_returns_expectedint(expectedNumberStr: "64", from_bytes: [64])
✅ IntFromBytes_returns_expectedint(expectedNumberStr: "8", from_bytes: [8])

✅ CLVMDotNet.Tests.CLVM.Casts.IntToBytes

✅ IntToBytes_returns_expectedbytes(numberStr: "-1", expectedBytes: [255])
✅ IntToBytes_returns_expectedbytes(numberStr: "-1024", expectedBytes: [252, 0])
✅ IntToBytes_returns_expectedbytes(numberStr: "-10241024", expectedBytes: [255, 99, 188, 0])
✅ IntToBytes_returns_expectedbytes(numberStr: "-128", expectedBytes: [128])
✅ IntToBytes_returns_expectedbytes(numberStr: "-129", expectedBytes: [255, 127])
✅ IntToBytes_returns_expectedbytes(numberStr: "-2048", expectedBytes: [248, 0])
✅ IntToBytes_returns_expectedbytes(numberStr: "-204820482048", expectedBytes: [208, 79, 191, 120, 0])
✅ IntToBytes_returns_expectedbytes(numberStr: "-20482048204820482048", expectedBytes: [254, 227, 193, 37, 173, ...])
✅ IntToBytes_returns_expectedbytes(numberStr: "-256", expectedBytes: [255, 0])
✅ IntToBytes_returns_expectedbytes(numberStr: "-4096", expectedBytes: [240, 0])
✅ IntToBytes_returns_expectedbytes(numberStr: "-512", expectedBytes: [254, 0])
✅ IntToBytes_returns_expectedbytes(numberStr: "0", expectedBytes: [])
✅ IntToBytes_returns_expectedbytes(numberStr: "1", expectedBytes: [1])
✅ IntToBytes_returns_expectedbytes(numberStr: "1024", expectedBytes: [4, 0])
✅ IntToBytes_returns_expectedbytes(numberStr: "10241024", expectedBytes: [0, 156, 68, 0])
✅ IntToBytes_returns_expectedbytes(numberStr: "128", expectedBytes: [0, 128])
✅ IntToBytes_returns_expectedbytes(numberStr: "16", expectedBytes: [16])
✅ IntToBytes_returns_expectedbytes(numberStr: "2048", expectedBytes: [8, 0])
✅ IntToBytes_returns_expectedbytes(numberStr: "204820482048", expectedBytes: [47, 176, 64, 136, 0])
✅ IntToBytes_returns_expectedbytes(numberStr: "20482048204820482048", expectedBytes: [1, 28, 62, 218, 82, ...])
✅ IntToBytes_returns_expectedbytes(numberStr: "256", expectedBytes: [1, 0])
✅ IntToBytes_returns_expectedbytes(numberStr: "32", expectedBytes: [32])
✅ IntToBytes_returns_expectedbytes(numberStr: "4096", expectedBytes: [16, 0])
✅ IntToBytes_returns_expectedbytes(numberStr: "512", expectedBytes: [2, 0])
✅ IntToBytes_returns_expectedbytes(numberStr: "64", expectedBytes: [64])
✅ IntToBytes_returns_expectedbytes(numberStr: "8", expectedBytes: [8])

✅ CLVMDotNet.Tests.CLVM.Casts.LimbsForInt

✅ LimbsForInt_returns_expectedlength(numStr: "0", expectedNumberOfBytes: 0)
✅ LimbsForInt_returns_expectedlength(numStr: "1", expectedNumberOfBytes: 1)
✅ LimbsForInt_returns_expectedlength(numStr: "1024", expectedNumberOfBytes: 2)
✅ LimbsForInt_returns_expectedlength(numStr: "10241024", expectedNumberOfBytes: 4)
✅ LimbsForInt_returns_expectedlength(numStr: "128", expectedNumberOfBytes: 2)
✅ LimbsForInt_returns_expectedlength(numStr: "16", expectedNumberOfBytes: 1)
✅ LimbsForInt_returns_expectedlength(numStr: "204820482048", expectedNumberOfBytes: 5)
✅ LimbsForInt_returns_expectedlength(numStr: "20482048204820482048", expectedNumberOfBytes: 9)
✅ LimbsForInt_returns_expectedlength(numStr: "32", expectedNumberOfBytes: 1)
✅ LimbsForInt_returns_expectedlength(numStr: "64", expectedNumberOfBytes: 1)
✅ LimbsForInt_returns_expectedlength(numStr: "8", expectedNumberOfBytes: 1)

✅ CLVMDotNet.Tests.CLVM.CLVMObject.InstantiationTests

✅ Constructor_with_atom_sets_atom(atom: "")
✅ Constructor_with_atom_sets_atom(atom: 1)
✅ Constructor_with_atom_sets_atom(atom: 3)
✅ Constructor_with_invalid_tuple_shape
✅ Constructor_with_sexp_sets_atom
✅ Constructor_with_tuple_sets_pair(left: "", right: "")
✅ Constructor_with_tuple_sets_pair(left: "", right: null)
✅ Constructor_with_tuple_sets_pair(left: 3, right: 3)
✅ Constructor_with_tuple_sets_pair(left: null, right: null)

✅ CLVMDotNet.Tests.CLVM.HelperFunctions.MSBMask

✅ TestMsbMask(expectedbyte: 0, MSB: 0)
✅ TestMsbMask(expectedbyte: 1, MSB: 1)
✅ TestMsbMask(expectedbyte: 128, MSB: 128)
✅ TestMsbMask(expectedbyte: 128, MSB: 255)
✅ TestMsbMask(expectedbyte: 16, MSB: 16)
✅ TestMsbMask(expectedbyte: 2, MSB: 2)
✅ TestMsbMask(expectedbyte: 32, MSB: 32)
✅ TestMsbMask(expectedbyte: 32, MSB: 42)
✅ TestMsbMask(expectedbyte: 4, MSB: 4)
✅ TestMsbMask(expectedbyte: 64, MSB: 64)
✅ TestMsbMask(expectedbyte: 64, MSB: 68)
✅ TestMsbMask(expectedbyte: 8, MSB: 8)

✅ CLVMDotNet.Tests.CLVM.KeywordToAtomTests

✅ KeywordToAtom_Returns_correct_byte(keyword: "-", expectedByte: 17)
✅ KeywordToAtom_Returns_correct_byte(keyword: ".", expectedByte: 0)
✅ KeywordToAtom_Returns_correct_byte(keyword: "*", expectedByte: 18)
✅ KeywordToAtom_Returns_correct_byte(keyword: "/", expectedByte: 19)
✅ KeywordToAtom_Returns_correct_byte(keyword: "+", expectedByte: 16)
✅ KeywordToAtom_Returns_correct_byte(keyword: "=", expectedByte: 9)
✅ KeywordToAtom_Returns_correct_byte(keyword: ">", expectedByte: 21)
✅ KeywordToAtom_Returns_correct_byte(keyword: "a", expectedByte: 2)
✅ KeywordToAtom_Returns_correct_byte(keyword: "all", expectedByte: 34)
✅ KeywordToAtom_Returns_correct_byte(keyword: "any", expectedByte: 33)
✅ KeywordToAtom_Returns_correct_byte(keyword: "ash", expectedByte: 22)
✅ KeywordToAtom_Returns_correct_byte(keyword: "c", expectedByte: 4)
✅ KeywordToAtom_Returns_correct_byte(keyword: "concat", expectedByte: 14)
✅ KeywordToAtom_Returns_correct_byte(keyword: "divmod", expectedByte: 20)
✅ KeywordToAtom_Returns_correct_byte(keyword: "f", expectedByte: 5)
✅ KeywordToAtom_Returns_correct_byte(keyword: "i", expectedByte: 3)
✅ KeywordToAtom_Returns_correct_byte(keyword: "l", expectedByte: 7)
✅ KeywordToAtom_Returns_correct_byte(keyword: "logand", expectedByte: 24)
✅ KeywordToAtom_Returns_correct_byte(keyword: "logior", expectedByte: 25)
✅ KeywordToAtom_Returns_correct_byte(keyword: "lognot", expectedByte: 27)
✅ KeywordToAtom_Returns_correct_byte(keyword: "logxor", expectedByte: 26)
✅ KeywordToAtom_Returns_correct_byte(keyword: "lsh", expectedByte: 23)
✅ KeywordToAtom_Returns_correct_byte(keyword: "not", expectedByte: 32)
✅ KeywordToAtom_Returns_correct_byte(keyword: "point_add", expectedByte: 29)
✅ KeywordToAtom_Returns_correct_byte(keyword: "pubkey_for_exp", expectedByte: 30)
✅ KeywordToAtom_Returns_correct_byte(keyword: "q", expectedByte: 1)
✅ KeywordToAtom_Returns_correct_byte(keyword: "r", expectedByte: 6)
✅ KeywordToAtom_Returns_correct_byte(keyword: "sha256", expectedByte: 11)
✅ KeywordToAtom_Returns_correct_byte(keyword: "strlen", expectedByte: 13)
✅ KeywordToAtom_Returns_correct_byte(keyword: "substr", expectedByte: 12)
✅ KeywordToAtom_Returns_correct_byte(keyword: "x", expectedByte: 8)
✅ UnknownKeyword_ThrowsError

✅ CLVMDotNet.Tests.CLVM.Operators.KeywordFromAtomTests

✅ KeywordToAtom_Returns_correct_byte(atom: 1, expectedKeyword: "q")
✅ KeywordToAtom_Returns_correct_byte(atom: 11, expectedKeyword: "sha256")
✅ KeywordToAtom_Returns_correct_byte(atom: 12, expectedKeyword: "substr")
✅ KeywordToAtom_Returns_correct_byte(atom: 13, expectedKeyword: "strlen")
✅ KeywordToAtom_Returns_correct_byte(atom: 14, expectedKeyword: "concat")
✅ KeywordToAtom_Returns_correct_byte(atom: 15, expectedKeyword: ".")
✅ KeywordToAtom_Returns_correct_byte(atom: 16, expectedKeyword: "+")
✅ KeywordToAtom_Returns_correct_byte(atom: 17, expectedKeyword: "-")
✅ KeywordToAtom_Returns_correct_byte(atom: 18, expectedKeyword: "*")
✅ KeywordToAtom_Returns_correct_byte(atom: 19, expectedKeyword: "/")
✅ KeywordToAtom_Returns_correct_byte(atom: 2, expectedKeyword: "a")
✅ KeywordToAtom_Returns_correct_byte(atom: 20, expectedKeyword: "divmod")
✅ KeywordToAtom_Returns_correct_byte(atom: 21, expectedKeyword: ">")
✅ KeywordToAtom_Returns_correct_byte(atom: 22, expectedKeyword: "ash")
✅ KeywordToAtom_Returns_correct_byte(atom: 23, expectedKeyword: "lsh")
✅ KeywordToAtom_Returns_correct_byte(atom: 24, expectedKeyword: "logand")
✅ KeywordToAtom_Returns_correct_byte(atom: 25, expectedKeyword: "logior")
✅ KeywordToAtom_Returns_correct_byte(atom: 26, expectedKeyword: "logxor")
✅ KeywordToAtom_Returns_correct_byte(atom: 27, expectedKeyword: "lognot")
✅ KeywordToAtom_Returns_correct_byte(atom: 28, expectedKeyword: ".")
✅ KeywordToAtom_Returns_correct_byte(atom: 29, expectedKeyword: "point_add")
✅ KeywordToAtom_Returns_correct_byte(atom: 3, expectedKeyword: "i")
✅ KeywordToAtom_Returns_correct_byte(atom: 30, expectedKeyword: "pubkey_for_exp")
✅ KeywordToAtom_Returns_correct_byte(atom: 31, expectedKeyword: ".")
✅ KeywordToAtom_Returns_correct_byte(atom: 32, expectedKeyword: "not")
✅ KeywordToAtom_Returns_correct_byte(atom: 33, expectedKeyword: "any")
✅ KeywordToAtom_Returns_correct_byte(atom: 34, expectedKeyword: "all")
✅ KeywordToAtom_Returns_correct_byte(atom: 35, expectedKeyword: ".")
✅ KeywordToAtom_Returns_correct_byte(atom: 4, expectedKeyword: "c")
✅ KeywordToAtom_Returns_correct_byte(atom: 5, expectedKeyword: "f")
✅ KeywordToAtom_Returns_correct_byte(atom: 6, expectedKeyword: "r")
✅ KeywordToAtom_Returns_correct_byte(atom: 7, expectedKeyword: "l")
✅ KeywordToAtom_Returns_correct_byte(atom: 8, expectedKeyword: "x")
✅ UnknownAtom_ThrowsError

✅ CLVMDotNet.Tests.CLVM.Operators.OperatorTests

✅ OpAdd
✅ OpAllAtomsReturnsTrue
✅ OpAllWithEmptyAtomsReturnsTrue
✅ OpAllWithPairReturnsFalse
✅ OpAnyReturnsFalseWithNoArgs
✅ OpAnyReturnsTrueIfListIsNotEmpty
✅ OpAnyReturnsTrueWithMoreThanOneArg
✅ OpAsh
✅ OpAshThrowsWhenLessThanTwoArguments
✅ OpAshThrowsWhenMoreThanTwoArguments
✅ OpConcat
✅ OpDefaultUnknownAtom
✅ OpDefaultUnknownDot
✅ OpDefaultUnknownQuote
✅ OpDivide
✅ OpDivideThrowsExceptionIfDividingByZero
✅ OpDivideThrowsExceptionWithNegativeOperand1
✅ OpDivMod
✅ OpEqReturnsFalseWhenTwoStringsDoNotMatch
✅ OpEqReturnsTrueWhenTwoStringsMatch
✅ OpEqReturnTrueWhenTwoEmptyStringsMatchMatch
✅ OpEqThrowsWhenLessThanTwoArguments
✅ OpEqThrowsWhenMoreThanTwoArguments
✅ OpGrBytesReturnsFalse(expectedCost: 119, val1: "a", val2: "b")
✅ OpGrBytesReturnsFalse(expectedCost: 131, val1: "testing", val2: "testing")
✅ OpGrBytesReturnsTrue(expectedCost: 119, val1: "b", val2: "a")
✅ OpGrBytesThrowsWithMoreThanTwoParameters
✅ OpGrReturnsFalse(expectedCost: 502, strVal1: "1", strVal2: "1", greaterThan: False)
✅ OpGrReturnsFalse(expectedCost: 502, strVal1: "1", strVal2: "2", greaterThan: False)
⚪ OpGrReturnsTrue(expectedCost: 502, strVal1: "-1", strVal2: "2", greaterThan: True)
✅ OpGrReturnsTrue(expectedCost: 502, strVal1: "4", strVal2: "2", greaterThan: True)
✅ OpGrThrowIfLessThan2ArgumentsPassed
✅ OpGrThrowIfMoreThan2ArgumentsPassed
✅ OpLogAndInt
✅ OpLogEmptyList
✅ OpLogior
✅ OpLogiorInt
✅ OpLogNot
✅ OpLogNotNegativeNumbers
✅ OpLogNotThrowsWithNoParameters
✅ OpLogxor
✅ OpLogxorInt
✅ OpLsh
✅ OpMultiply
✅ OpNotNoneEmptyBytes
✅ OpNotThrowsIfEmptyBytes
✅ OpNotThrowsIfMoreThanOneByte
✅ OpPubKeyForExp
✅ OpPubKeyThrowsWithNoArgumentsp
✅ OpSHA256
⚪ OpSHA256OnList_ThrowsError
✅ OpStrLen(val: "", length: 0, cost: 173)
✅ OpStrLen(val: "s", length: 1, cost: 184)
✅ OpStrLen(val: "somestring", length: 10, cost: 193)
✅ OpStrLen(val: "THIS IS A LONGER SENTENCE TO CALCULATE THE COST OF"..., length: 51, cost: 234)
✅ OpStrLenThrowsIfPair
✅ OpStrLenThrowsWithTooManyArgs
✅ OpSubstrReturnsSubStringOfNumberOfCharactersWithCost(stringCost: "1", val: "somelongstring", startindex: 0, endIndex: 2, expectedResult: "so")
✅ OpSubstrReturnsSubStringOfNumberOfCharactersWithCost(stringCost: "1", val: "somelongstring", startindex: 13, endIndex: 14, expectedResult: "g")
✅ OpSubstrReturnsSubStringOfNumberOfCharactersWithCost(stringCost: "1", val: "somelongstring", startindex: 3, endIndex: 12, expectedResult: "elongstri")
✅ OpSubstrReturnsSubStringOfNumberOfCharactersWithCost(stringCost: "1", val: "somelongstring", startindex: 4, endIndex: 5, expectedResult: "l")
✅ OpSubstrReturnsSubStringWithCost(stringCost: "1", val: "somelongstring", startindex: 0, expectedResult: "somelongstring")
✅ OpSubstrReturnsSubStringWithCost(stringCost: "1", val: "somelongstring", startindex: 13, expectedResult: "g")
✅ OpSubstrReturnsSubStringWithCost(stringCost: "1", val: "somelongstring", startindex: 4, expectedResult: "longstring")
✅ OpSubstrThrowsWhenOutOfBounds(startIndex: -1)
✅ OpSubstrThrowsWhenOutOfBounds(startIndex: 10)
✅ OpSubstrThrowsWithTooFewArgs
✅ OpSubstrThrowsWithTwoManyArgs
✅ OpSubtract
✅ UnsupportedOpThrowsException

✅ CLVMDotNet.Tests.CLVM.SExp.AsBin

✅ sexp_AsBinIsCorrectOrder(expected: [255, 1, 128], sexp_list: [1])
✅ sexp_AsBinIsCorrectOrder(expected: [255, 128, 128], sexp_list: [0])
✅ sexp_AsBinIsCorrectOrder(expected: [255, 8, 255, 8, 128], sexp_list: [8, 8])

✅ CLVMDotNet.Tests.CLVM.SExp.Equals

✅ Two_identical_sexp_are_equal

✅ CLVMDotNet.Tests.CLVM.SExp.SExpTests

✅ TestStringConversions
✅ TestWrapSExp

✅ CLVMDotNet.Tests.CLVM.SExp.To

✅ arbitrary_underlying_tree
✅ builds_correct_tree
✅ empty_list_conversions
✅ int_conversions
✅ NumberAtomIsSet
✅ StringAtomIsSet
✅ test_case_1
✅ TestListConversions
✅ TestNullConversions

✅ CLVMDotNet.Tests.Serialize.AsBin

✅ TestEmpty
✅ TestZero

✅ CLVMDotNet.Tests.Serialize.AtomFromStream

✅ AtomFromStreamEmptyString
✅ AtomFromStreamMaxSingleByte

✅ CLVMDotNet.Tests.Serialize.CommonTests

✅ EmptyString

✅ CLVMDotNet.Tests.Serialize.SexpBufferFromStream

✅ DeserializeTruncatedBlobTest
✅ DeserializeTruncatedSizeTest
✅ TestDeserializeEmpty
✅ TestDeserializeLargeBlob

✅ CLVMDotNet.Tests.Serialize.SExpFromStream

✅ DeserializeTruncatedBlobTest
✅ DeserializeTruncatedSizeTest
✅ TestDeserializeEmpty

✅ CLVMDotNet.Tests.Tool.IRWriter.IRWriterTests

✅ WriterTests(sexpText: "(100 0x0100)")
✅ WriterTests(sexpText: "(a b c de f g h i . j)")
✅ WriterTests(sexpText: "(c . foo)")
✅ WriterTests(sexpText: "(c (quote 100) (c (quote \"foo\") (quote ())))")
✅ WriterTests(sexpText: "(the quick brown fox jumps over the lazy dogs)")
✅ WriterTests(sexpText: "\"100\"")
✅ WriterTests(sexpText: "0x0100")
✅ WriterTests(sexpText: "0x100")
✅ WriterTests(sexpText: "100")
✅ WriterTests(sexpText: "foo")
✅ WriterTests(sexpText: "the quick brown fox jumps over the lazy dogs")

✅ CLVMDotNet.Tests.Tools.BinUtils.TypeForAtomTests

✅ TypeForAtomReturnsInt(value: "1")
✅ TypeForAtomReturnsInt(value: "4")
✅ TypeForAtomReturnsInt(value: "99")
✅ TypeForAtomReturnsQuote(value: "100")
✅ TypeForAtomReturnsQuote(value: "126")
✅ TypeForAtomReturnsQuote(value: "178884")
✅ TypeForAtomReturnsQuote(value: "aaaa")
✅ TypeForAtomReturnsQuote(value: "this is a test")

✅ CLVMDotNet.Tests.Tools.Clvmc.CompileCLVMText

✅ RunBasicProgram

✅ CLVMDotNet.Tests.Tools.IRReader.IrNewTests

✅ IrNewWithValidIntegerAndOffset

✅ CLVMDotNet.Tests.Tools.IRReader.ReadIRTests

⚪ ConsList
✅ ConsList1
✅ IRReader_ignores_comments
✅ ReadIREmptyStringThrowsError

✅ CLVMDotNet.Tests.Tools.IRReader.TokenizeConsTests

✅ TokenizeCons_ClosingBracket

✅ CLVMDotNet.Tests.Tools.IRReader.TokenizeHexTests

✅ TokenizeHex_DoesNotLook_like_hex_returns_null
✅ TokenizeHex_Invalid_Hex_throws_exception
✅ TokenizeHex_Valid(number: "0x01", expectedBytes: [1])
✅ TokenizeHex_Valid(number: "0x1BFEA1277EF63F25B9D65E79", expectedBytes: [27, 254, 161, 39, 126, ...])
✅ TokenizeHex_Valid(number: "0x2DE684E38", expectedBytes: [2, 222, 104, 78, 56])

✅ CLVMDotNet.Tests.Tools.IRReader.TokenizeIntTests

✅ TokenizeInt_Builds_CorrectObject(number: "1", expectedBytes: [1])
✅ TokenizeInt_Builds_CorrectObject(number: "12345678910", expectedBytes: [2, 223, 220, 28, 62])
✅ TokenizeInt_Builds_CorrectObject(number: "1234567891012345678910", expectedBytes: [66, 237, 18, 59, 218, ...])
✅ TokenizeInt_Builds_CorrectObject(number: "256", expectedBytes: [1, 0])
✅ TokenizeInt_returns_null_when_passing_none_int

✅ CLVMDotNet.Tests.Tools.IRReader.TokenizeSexpTests

✅ TestTokenizeSexp

✅ CLVMDotNet.Tests.Tools.IRReader.TokenizeSymbolTests

✅ TokenizeSymbol_returns_sexp

✅ CLVMDotNet.Tests.Tools.IRReader.TokenStreamTests

✅ TokenStreamReader_matches_python_stream_length(input: "(- 5 (- 6 (- 5 (- 5 6))))", lengthOfStream: 17)
✅ TokenStreamReader_matches_python_stream_length(input: "(- 5 4)", lengthOfStream: 5)
✅ TokenStreamReader_matches_python_stream_length(input: "(/ 10 2)", lengthOfStream: 5)
✅ TokenStreamReader_matches_python_stream_length(input: "(equal 7 (+ 5 ;foo bar\n   2))", lengthOfStream: 9)
✅ TokenStreamReader_matches_python_stream_length(input: "(equal 7 (+ 5 ;foo bar\n \n\n\n \n\n\r  2))", lengthOfStream: 9)
✅ TokenStreamReader_matches_python_stream_length(input: "(equal 7 (+ 5 ;foo bar\n \n\n\n \n\n\r  8))", lengthOfStream: 9)
✅ TokenStreamReader_matches_python_stream_length(input: "(equal 7 (+ 5 (+ 1 5)))", lengthOfStream: 13)

✅ CLVMDotNet.Tests.Tools.Stages.Stage2.BindingTests

✅ TestBrun
⚪ TestRun

✅ CLVMDotNet.Tests.Tools.UtilsTests

✅ Convert_to_base256_matches_python(expected: "1129268293", sym: "CODE")
✅ Convert_to_base256_matches_python(expected: "1129270867", sym: "CONS")
✅ Convert_to_base256_matches_python(expected: "1313817669", sym: "NODE")
✅ Convert_to_base256_matches_python(expected: "1314212940", sym: "NULL")
✅ Convert_to_base256_matches_python(expected: "20304", sym: "OP")
✅ Convert_to_base256_matches_python(expected: "20820", sym: "QT")
✅ Convert_to_base256_matches_python(expected: "4477268", sym: "DQT")
✅ Convert_to_base256_matches_python(expected: "4736344", sym: "HEX")
✅ Convert_to_base256_matches_python(expected: "4804180", sym: "INT")
✅ Convert_to_base256_matches_python(expected: "5460308", sym: "SQT")
✅ Convert_to_base256_matches_python(expected: "5462349", sym: "SYM")